What's not done or not working as of 3/14/2018 1. IMU! Someone needs to write the software to read inertial data from IMU. 2. #1 means that functions to read/write/display data from WAT, EVT, and IDX files are completely untested. 3. ZModem works, sends error to console. 4. Sleep - we can put the CPU to sleep, but not wake it up via serial char. So I've disabled the sleep routine. This means that the board consumes much more power than it should. 5. Power-down detection and saving of SD data 6. For some reason, I had to slow down the SPI bus for both ADC and SD interfaces. They work, but could be faster. 7. To save power, turn off 24MHz oscillator and run off the 8MHz FRC. In picConfig.c, change the following pragmas: #pragma config FNOSC = FRC #pragma config FPBDIV = DIV_1 This will run the CPU at 8MHz, but also the PBCLK at 8 MHz. So in clock.h, change: #define PBCLK SYSCLK Serial baud rates should adjust automatically. You may need to adjust baud rates of various SPI interfaces. 8. decode 9. decimateAndSplit 10. Probably more user I/F routines that aren't ported or aren't tested. 11. The public-domain getopt() routine I imported is a bit buggy if the input line ends with an option with parameters. "-n10" may not correctly set optarg to 10. Use "-n 10" instead. Also note that it uses Unix-style option character. '-', not '/'. 12. Use long file names (LFN) by setting #define FF_USE_LFN 1 in fatFs/ffconf.h. You can then use more descriptive file names by modifying getDataFileName() in file.c