Description:
(Page started with 1.4.0 release on about 1/23/07)
So, what is in store for future Firmware versions on the UBW? And, are
there any known bugs with any of the releases? Sure! Here are some
lists for you.
BIG NOTE: As far as features
that I'd like to add, be very careful counting on any of these things
to ever happen. Don't be mad if they never see the light of day. All of
this code is open and available and if you really need something _now_
you could always write the commands yourself. It's fun, really! This is
a hobby for me, and one that not only competes with my other hobbies
for my time, but is also taking up more and more of my time. It is
loads and loads of fun for me, and I have no
qualms supporting people's questions via e-mail, but realize that I
can't devote the kind of time to this project that it really deserves.
So the features may come out more slowly or differently than they are
listed here.
Also, if you have strong feelings about this list, please feel free to
e-mail me and tell me what you think should be different. Either new
features you'd like to see, things you'd like to see changed, different
priorities, etc.
As of version 1.4.0, we're using about 3/4 of the PIC's Flash and about
1/2 of its RAM. To add support for some of these features we may have
to find ways to reduce code size.
Roadmap:
- Future Versions
- Add buffered RS-232 support, allow configuring of serial port
parameters
- Add buffered I2C support
- Add buffered SPI support
- Add support for fast clocking of data to shift registers
(74HC595 maybe?)
- Add simple support for driving four stepper motors on PortB
(step and direction outputs) at high step rates
- Add EEPROM data storage and retrieval commands
- Add USB serial number support, so UBW will always have same COM
port under Windows
- Add our own ID bytes from Microchip so that we can have a
seperate identity from the CDC demo code
- Features planned for version 1.4.3
- Auto detection of what type of part the code is running on, so
Version command can indicate to user which command set to use (28 pin
or 40 pin).
- Features planned for version 1.4.1
- Basic support for 40 pin parts (this just means adding Port D
and E parameters to any command that needs it)
- Dual build (i.e. each time code is built, it is built for 4550
and 2550)
- Things that would be cool to add, but I don't have planned for
any particular version
- Support for streaming data to one of the sweet SparkFun color
LCDs (SPI probably)
- Support for one-wire protocol to talk to one-wire devices
- Support for bursty capturing of analog or digital input (i.e.
store 256 samples at 100KHz rate and send them all when done.)
- Support for a simple wireless protocol to take the place of the
USB connection (using SparkFun radios)
- Support for 40 pin version of USB PIC chips. This would involve
adding code to almost all commands to deal with other ports/registers.
- Improving speed of timed analog/digital rate back to PC (T
command)
- Improving speed of binary output and binary stream commands for
LCD support
- Breaking up user.c file into more readable files
- Buffering input packets better to improve command parse rate
- Convert USB framework to interrupt based so as to allow
mainline code to block
Known Bugs/Limitations:
- (1.4.0) Backspace does not have desired affect (would be nice for
terminal emulator use).
- (1.4.0) Commands greater than 64 bytes in total length are
ignored (because UBW only operates on one USB packet (max 64 bytes) at
a time)
- (1.4.0) BO and BS commands are not as fast as they could be -
some optomization is possible
- (1.4.0) Analog A packets from the T command are limited in max
speed that they can come back. Why, and how to fix so they can come
back a 1ms rate of digital packets?
Questions? E-mail me at