]> git.tdb.fi Git - model-railway-devices.git/log
model-railway-devices.git
11 years agoFix S88 latching logic
Mikko Rasa [Thu, 31 Oct 2013 22:14:23 +0000 (00:14 +0200)]
Fix S88 latching logic

11 years agoUse pin change interrupt to react faster to the clock
Mikko Rasa [Thu, 31 Oct 2013 22:11:49 +0000 (00:11 +0200)]
Use pin change interrupt to react faster to the clock

11 years agoUse the new serial API in s88w-r
Mikko Rasa [Thu, 31 Oct 2013 22:08:33 +0000 (00:08 +0200)]
Use the new serial API in s88w-r

11 years agoMark module-private variables static
Mikko Rasa [Wed, 30 Oct 2013 21:59:50 +0000 (23:59 +0200)]
Mark module-private variables static

11 years agoMake arducontrol interface asynchronous again
Mikko Rasa [Wed, 30 Oct 2013 21:50:00 +0000 (23:50 +0200)]
Make arducontrol interface asynchronous again

Blocking the main loop for extended periods of time (as could previously
happen with an incomplete packet) is bad, because it prevents the monitor
from triggering overcurrent shutdown.

11 years agoSend at least four S88 data octets per packets if possible
Mikko Rasa [Mon, 28 Oct 2013 20:20:28 +0000 (22:20 +0200)]
Send at least four S88 data octets per packets if possible

Each packet has three bytes of overhead, which is pretty significant if
only a single data byte is sent.  Grouping them in larger units increases
throughput and only produces a negligible increase in latency.

11 years agoRespond to a zero-length packet with another zero-length packet
Mikko Rasa [Mon, 28 Oct 2013 20:11:14 +0000 (22:11 +0200)]
Respond to a zero-length packet with another zero-length packet

This could be useful for sync recovery

11 years agoRewrite arducontrol interface module to use the new serial API
Mikko Rasa [Mon, 28 Oct 2013 19:59:48 +0000 (21:59 +0200)]
Rewrite arducontrol interface module to use the new serial API

11 years agoExpand the serial API and add an asynchronous mode
Mikko Rasa [Mon, 28 Oct 2013 19:10:47 +0000 (21:10 +0200)]
Expand the serial API and add an asynchronous mode

This breaks any existing code using the API, since the callback macro
isn't available anymore.

11 years agoRewrite ringbuffer implementation to be interrupt-safe
Mikko Rasa [Mon, 28 Oct 2013 18:28:07 +0000 (20:28 +0200)]
Rewrite ringbuffer implementation to be interrupt-safe

The earlier version had a race condition with the fill variable, where an
interrupt might execute in the middle of increment/decrement and do the
opposite operation.  Each variable is now written to by only one end of
the buffer, eliminating the problem.

11 years agoFix a bug in interpreting Motorola commands
Mikko Rasa [Sun, 27 Oct 2013 15:36:59 +0000 (17:36 +0200)]
Fix a bug in interpreting Motorola commands

11 years agoAdd support for S88 feedback modules
Mikko Rasa [Wed, 23 Oct 2013 21:36:44 +0000 (00:36 +0300)]
Add support for S88 feedback modules

11 years agoAdd ring buffer utilities
Mikko Rasa [Wed, 23 Oct 2013 21:02:11 +0000 (00:02 +0300)]
Add ring buffer utilities

These are cropping up all over the place in arducontrol.

11 years agoMove output to a higher priority timer
Mikko Rasa [Wed, 23 Oct 2013 18:06:18 +0000 (21:06 +0300)]
Move output to a higher priority timer

11 years agoAdd functions for sending replies
Mikko Rasa [Wed, 23 Oct 2013 18:02:42 +0000 (21:02 +0300)]
Add functions for sending replies

11 years agoPass command data through a pointer
Mikko Rasa [Wed, 23 Oct 2013 17:36:25 +0000 (20:36 +0300)]
Pass command data through a pointer

This is cleaner and more flexible than the global buffer, and isn't any
slower.

11 years agoMark parameterless functions as such with a void argument list
Mikko Rasa [Tue, 22 Oct 2013 16:56:33 +0000 (19:56 +0300)]
Mark parameterless functions as such with a void argument list

11 years agoUse symbolic constants for addressing I/O pins
Mikko Rasa [Mon, 21 Oct 2013 23:17:59 +0000 (02:17 +0300)]
Use symbolic constants for addressing I/O pins

11 years agoRewrite ADC code to cause less timing interference
Mikko Rasa [Mon, 21 Oct 2013 23:15:31 +0000 (02:15 +0300)]
Rewrite ADC code to cause less timing interference

Doing divisions in ISR is bad, mkay?  The new code uses a different method
which avoids divisions altogether and is much more accurate too.

11 years agoOrganize arducontrol code by functionality
Mikko Rasa [Mon, 21 Oct 2013 20:10:35 +0000 (23:10 +0300)]
Organize arducontrol code by functionality

11 years agoImplement current and voltage monitoring
Mikko Rasa [Wed, 3 Jul 2013 16:13:56 +0000 (19:13 +0300)]
Implement current and voltage monitoring

11 years agoSomre more common facilities
Mikko Rasa [Wed, 3 Jul 2013 15:53:32 +0000 (18:53 +0300)]
Somre more common facilities

11 years agoAdd decoder programming utility
Mikko Rasa [Tue, 2 Jul 2013 14:58:57 +0000 (17:58 +0300)]
Add decoder programming utility

11 years agoAdd railway control firmware
Mikko Rasa [Tue, 2 Jul 2013 14:58:01 +0000 (17:58 +0300)]
Add railway control firmware

Only motorola protocol is supported to begin with, but further features
will be added in the near future.

11 years agoSet UCSR0A in serial_init
Mikko Rasa [Sat, 18 May 2013 15:55:21 +0000 (18:55 +0300)]
Set UCSR0A in serial_init

It contains the U2X0 bit, which must be cleared to get the desired
bitrate.  Some versions of the Arduino bootloader appear to leave it
set.

11 years agoReplace the svg schematic with proper schematics and boards made in kicad
Mikko Rasa [Mon, 13 May 2013 18:47:03 +0000 (21:47 +0300)]
Replace the svg schematic with proper schematics and boards made in kicad

There are still some references to my local files; I'll fix those later.

11 years agoFix an inline asm constraint
Mikko Rasa [Mon, 13 May 2013 17:47:59 +0000 (20:47 +0300)]
Fix an inline asm constraint

The sbiw instruction is limited to certain word-capable registers, and the
compiler needs to be informed that such a register is needed.

11 years agoReorganize the directory structure
Mikko Rasa [Mon, 13 May 2013 17:18:01 +0000 (20:18 +0300)]
Reorganize the directory structure

These were forked off the r2c2 repo since especially the s88w stuff is not
tied to it.

11 years agoStrip Id tags and copyright notices from files
Mikko Rasa [Tue, 8 Jan 2013 12:56:06 +0000 (14:56 +0200)]
Strip Id tags and copyright notices from files

The license text is now stored in a separate file.

13 years agoFix an error in s88w-t diagram
Mikko Rasa [Tue, 8 Mar 2011 10:37:32 +0000 (10:37 +0000)]
Fix an error in s88w-t diagram

14 years agoRename the project to R²C²
Mikko Rasa [Tue, 16 Nov 2010 17:53:13 +0000 (17:53 +0000)]
Rename the project to R²C²

14 years agoMake LCD output selectable at runtime through an extra I/O pin
Mikko Rasa [Mon, 15 Nov 2010 21:07:41 +0000 (21:07 +0000)]
Make LCD output selectable at runtime through an extra I/O pin

14 years agoChange the input filtering for better suitability for unreliable track circuits
Mikko Rasa [Fri, 12 Nov 2010 21:03:19 +0000 (21:03 +0000)]
Change the input filtering for better suitability for unreliable track circuits
Reduce the amount of spam sent by s88w-t
Optimize the LCD output code in s88w-r

14 years agoSupport multiple timers (currently 0 and 1)
Mikko Rasa [Wed, 27 Oct 2010 16:14:17 +0000 (16:14 +0000)]
Support multiple timers (currently 0 and 1)
Provide functions for setting timers in µs as well as Hz
Rewrite interrupt callbacks as macros that directly create the ISR
Add an async mode for LCD
Fix DDRB in s88w-t

14 years agoAdd some utility functions for interfacing with hardware
Mikko Rasa [Sat, 25 Sep 2010 08:46:20 +0000 (08:46 +0000)]
Add some utility functions for interfacing with hardware
Improve makefile to support uploading to Arduino Mini
Expand s88w protocol to support multiple transmitters
Add lcd output to s88w-r for debugging

14 years agoAdd wireless s88 firmware and schematic
Mikko Rasa [Fri, 30 Apr 2010 20:47:18 +0000 (20:47 +0000)]
Add wireless s88 firmware and schematic

14 years agoAdd a program for serial port control and associated Arduino firmware
Mikko Rasa [Sat, 3 Apr 2010 09:49:02 +0000 (09:49 +0000)]
Add a program for serial port control and associated Arduino firmware