![]() |
Cypress Board Configuration
Would it be possible to reconfigure the digital inputs/outputs so that I would have more inputs than outputs, or even use the analog inputs as digital inputs? I realize I can just read the analog inputs and then manually map it to digital, but that seems roundabout, and for the application I'm using it for, slow. I heard somewhere that we would be able to reconfigure the pins.
|
Re: Cypress Board Configuration
Have you tried using the extended I/O configuration for the Cypress Board? Doing so will get you half way there, in that you can manually set each of the digital pins direction (and if you set it to input, you can also set whether you have a pull up, a pull down, or leave it floating).
The way the communication is architected, the analog inputs are updated just as often as the digital inputs, so making them digital inputs won't make them any faster for your purposes. Also, may I ask what you are doing that requires speed? The extended I/O has a few neat features that may help you out here. *I assume you mean for use at the Driver Station. If you intend to use the board on the robot, ignore everything I said: You can do whatever you want (within the rules) on the robot. |
Re: Cypress Board Configuration
Quote:
Quote:
|
Re: Cypress Board Configuration
You might find it easier to integrate your other system with the IO in enhanced mode instead of trying to bit bang a communication protocol. It simply wasn't designed for this.
|
Re: Cypress Board Configuration
What is this extended/enhanced mode? I'm constantly looking for a better way to do this, so any idea helps.
|
Re: Cypress Board Configuration
Look under the Driver Station IO tab and click "Configure..."
|
Re: Cypress Board Configuration
In the driver station, you can click on the I/O tab, and there is a configure button at the bottom. If you click that, you can switch it to enhanced mode and then configure the digital IO.
|
Re: Cypress Board Configuration
Quote:
|
Re: Cypress Board Configuration
Quote:
What is the IO that you ultimately need to interact with? Knobs? Buttons? Switches? LEDs? Like I said before, perhaps using the available IO directly will work better for your application. |
Re: Cypress Board Configuration
My current plan is to use ALL of the pins on the Cypress for bitbanging. I wrote my own protocol. I would have 8 digital inputs, 4 digital outputs, a pin for the interrupt on the board it's talking to (so it knows when there's new data), and some other pins for addressing and such. Essentially, the DS sends new data and an address, flips the interrupt, and then the other system reads it. It seems roundabout, I know, but the way the system is designed, it gives us a lot of advantages, such as virtually unlimited data pins, reusability (since we write the protocol, FIRST's design changes don't affect it), a modular design (modules w/ buttons, pots, etc. send data to the master over I2C, which in turn sends it to the DS), and a few other small things on top of that. At 50Hz (I would assume the packets send/receive data for ALL the pins at 50Hz) we're perfectly fine. that gives us 50 B/s, which is more than enough. SPI is a bottleneck really.
So it seems like it should be able to handle it. |
Re: Cypress Board Configuration
Excellent... I'm glad it will work for you.
|
Re: Cypress Board Configuration
Actually, I have one question that I didn't think about... What is a good data refresh rate? It might be a bit slow...
|
Re: Cypress Board Configuration
Quote:
|
| All times are GMT -5. The time now is 23:24. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi