Commit 1a130eed authored by Dean Camera's avatar Dean Camera

Updated the software USART code in the XPLAIN Bridge application so that the...

Updated the software USART code in the XPLAIN Bridge application so that the incomming bits are sampled at their mid-point instead of starting point, to give maximum reliability (thanks to Anton).
parent 0111fb51
...@@ -68,6 +68,8 @@ ...@@ -68,6 +68,8 @@
* - Changed TempDataLogger project's DS1307 driver to simplify the function interface and prevent a possible race condition * - Changed TempDataLogger project's DS1307 driver to simplify the function interface and prevent a possible race condition
* - Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0 * - Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0
* for other uses * for other uses
* - Updated the software USART code in the XPLAIN Bridge application so that the incomming bits are sampled at their mid-point
* instead of starting point, to give maximum reliability (thanks to Anton)
* *
* <b>Fixed:</b> * <b>Fixed:</b>
* - Core: * - Core:
......
...@@ -46,14 +46,16 @@ ...@@ -46,14 +46,16 @@
* - DIY PS3 controller emulator: https://code.google.com/p/diyps3controller/ * - DIY PS3 controller emulator: https://code.google.com/p/diyps3controller/
* - EMUCOMBOX, a USB-RS422 adapter for E-Mu Emax samplers: http://users.skynet.be/emxp/EMUCOMBOX.htm * - EMUCOMBOX, a USB-RS422 adapter for E-Mu Emax samplers: http://users.skynet.be/emxp/EMUCOMBOX.htm
* - Estick JTAG, an ARM JTAG debugger: http://code.google.com/p/estick-jtag/ * - Estick JTAG, an ARM JTAG debugger: http://code.google.com/p/estick-jtag/
* - "Fingerlicking Wingdinger" (WARNING: Bad Language if no Javascript), a MIDI controller: http://noisybox.net/electronics/wingdinger/ * - "Fingerlicking Wingdinger" (WARNING: Bad language if no Javascript), a MIDI controller: http://noisybox.net/electronics/wingdinger/
* - Flyatar, a real-time fly tracking system: https://github.com/peterpolidoro/Flyatar * - Flyatar, a real-time fly tracking system: https://github.com/peterpolidoro/Flyatar
* - Garmin GPS USB to NMEA standard serial sentence translator: http://github.com/nall/garmin-transmogrifier/tree/master * - Garmin GPS USB to NMEA standard serial sentence translator: http://github.com/nall/garmin-transmogrifier/tree/master
* - Generic HID Device Creator: http://generichid.sourceforge.net/ * - Generic HID Device Creator: http://generichid.sourceforge.net/
* - Ghetto Drum, a MIDI drum controller: http://noisybox.net/art/gdrum/ * - Ghetto Drum, a MIDI drum controller: http://noisybox.net/art/gdrum/
* - IR Remote to Keyboard decoder: http://netzhansa.blogspot.com/2010/04/our-living-room-hi-fi-setup-needs-mp3.html * - IR Remote to Keyboard decoder: http://netzhansa.blogspot.com/2010/04/our-living-room-hi-fi-setup-needs-mp3.html
* - LED Panel controller: http://projects.peterpolidoro.net/caltech/panelscontroller/panelscontroller.htm * - LED Panel controller: http://projects.peterpolidoro.net/caltech/panelscontroller/panelscontroller.htm
* - LUFA powered DDR dance mat (French): http://logicien-parfait.fr/dokuwiki/doku.php?id=projet:ddr_repair
* - Motherboard BIOS flasher: http://www.coreboot.org/InSystemFlasher * - Motherboard BIOS flasher: http://www.coreboot.org/InSystemFlasher
* - Multi-button Joystick (French): http://logicien-parfait.fr/dokuwiki/doku.php?id=projet:joystick
* - Nikon wireless camera remote control (Norwegian): http://hekta.org/~hpe1119/ * - Nikon wireless camera remote control (Norwegian): http://hekta.org/~hpe1119/
* - PSGroove, a Playstation 3 Homebrew dongle: http://github.com/psgroove * - PSGroove, a Playstation 3 Homebrew dongle: http://github.com/psgroove
* - Single LED Matrix Display: http://guysoft.wordpress.com/2009/10/08/bumble-b/ * - Single LED Matrix Display: http://guysoft.wordpress.com/2009/10/08/bumble-b/
......
...@@ -81,8 +81,10 @@ ISR(INT0_vect, ISR_BLOCK) ...@@ -81,8 +81,10 @@ ISR(INT0_vect, ISR_BLOCK)
/* Reset the number of reception bits remaining counter */ /* Reset the number of reception bits remaining counter */
RX_BitsRemaining = 8; RX_BitsRemaining = 8;
/* Reset the bit reception timer */ /* Reset the bit reception timer to -(1/2) of the total bit time, so that the first data bit is
TCNT1 = 0; * sampled mid way through the total bit time, making reception more robust.
*/
TCNT1 = -(OCR1A >> 1);
/* Check to see that the pin is still low (prevents glitches from starting a frame reception) */ /* Check to see that the pin is still low (prevents glitches from starting a frame reception) */
if (!(SRXPIN & (1 << SRX))) if (!(SRXPIN & (1 << SRX)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment