oresat / oresat-firmware

OreSat firmware based on ChibiOS for M0 and M4 microcontrollers
GNU General Public License v3.0
36 stars 13 forks source link

Add ASCII Gateway processing to CAN serial interface testing command #26

Closed heliochronix closed 4 years ago

heliochronix commented 4 years ago

Process ASCII Gateway data inside the cmd_can command until the executed command is completed.

Basically this means incorporate CO_GTWA_process() into a loop after the command is issued. This might require cyclically calling CO_GTWA_write_getSpace(), CO_GTWA_write(), and CO_GTWA_process() until the full command is parsed and executed before returning out of cmd_can.

Right now, CO_GTWA_process() is no longer being called from any threads due to the multi-threading and slimming down of CANopen OreSat code. It just doesn't have a good spot to integrate outside of the only thing that makes use of it, so might as well consolidate all processing of it to that location as needed when a command is issued.

heliochronix commented 4 years ago

The ASCII Gateway is nice, but it seems to be more trouble than it's worth when we can just get the underlying SDO transfer stuff working as per #20 and have a CLI interface for OreSat specific stuff. We can use a linux system connected to the CAN bus if we want a CLI interface to just play with the CANopen protocol (which is really what this provides).