aboutsummaryrefslogtreecommitdiffstats
path: root/src/command.c
Commit message (Collapse)AuthorAgeFilesLines
* build: Use compile_time_request system for init, tasks, and shutdownKevin O'Connor2017-05-261-2/+2
| | | | | | | | Avoid using linker magic to define the init, task, and shutdown functions. Instead, use the compile_time_request system. This simplifies the build and produces more efficient code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sched: Allow shutdown_reason to be uint8Kevin O'Connor2017-05-261-1/+1
| | | | | | | Store the shutdown_reason code in an 8-bit integer - this produces better code on AVR. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Avoid linker magic in compile_time_request.c unique id generationKevin O'Connor2017-05-261-7/+6
| | | | | | | | | | | | Avoid generating unique ids via memory locations and linker scripts. Instead, generate them using code produced by buildcommands.py. Utilize gcc's ability to perform static string comparisons at compile time to produce a unique id for each unique string. This fixes a build failure on ARM introduced in 142b92b8. It also reduces the complexity of the build. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* irq: Add an irq_poll() stub for board codeKevin O'Connor2017-05-151-0/+2
| | | | | | | Allow the board specific code to run checks prior to running each task. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* build: Avoid using noinline in common codeKevin O'Connor2017-05-151-1/+1
| | | | | | It's not necessary to use noinline for parsef() and stop_steppers(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Only implement 16bit signed conversion on AVRKevin O'Connor2017-05-151-1/+1
| | | | | | | On regular 32bit machines there is no need to implement explicit signed conversion on 16bit integers. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Simplify sendf() switchKevin O'Connor2017-03-261-9/+10
| | | | | | | | Commit f28eb902 reworked the switch to fix int16 encoding. However, at least one version of avr gcc doesn't like that switch layout (it uses a jump table). Reorg the switch to avoid that issue. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Fix encoding of 16bit signed integersKevin O'Connor2017-03-241-7/+9
| | | | | | | The code wasn't properly sign-extending 16bit integers which caused int16_t reports in output() to appear as uint16_t. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: No need to disable irqs in sendf reentrant checkKevin O'Connor2017-01-141-14/+14
| | | | | | | | | As long as the code is careful when writing the in_sendf variable it should be safe to update it without having to disable irqs. Also, make sure in_sendf is cleared on shutdown. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* command: Check for reentrant calls to sendf()Kevin O'Connor2017-01-131-1/+14
| | | | | | | | | Allow sendf() to be called from irq and timer context - check for the case where sendf() is called while already in sendf() and simply discard those messages. This makes it safe to use output() debugging calls even in irq and timer context. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* generic: Create generic board infrastructure and move misc.h to itKevin O'Connor2016-06-131-18/+1
| | | | | | | Instead of creating a misc.h file in each board directory, create a generic board directory and declare misc.h there. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Initial commit of source code.Kevin O'Connor2016-05-251-0/+315
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>