PIC 18F14K22 flight controller
So far I have this in the code working and tested:
GPS NEMEA parser for RMC and GGA at 4800 Bd altitude, heading, speed, latitude, longitude full resolution.
SPC01 magnetic compass and air pressure, module processing magnetic heading, pressure based altitude.
MPU6050 6 axis accelerometer processing, attitude 3 axis, accelleration 3 dimensions in g.
10 programmable waypoints programmable special features while flying to those waypoints, like altitude, speed, lights [1], chute...CORDIC for heading calculation from current positon to next waypoint.
Set home button to zero the air pressure altimeter, calibrate the compass, store the current latitude and longitude.
Data entry switch, to be able to set the waypoint related data via serial link at 4800 Bd.
Waypoints are a linked list, you can move them around by setting 'next' for each one.
Help menu (for me), this takes a few kB text... many many options.
AX25 like 1200 Bd encrypted NRZ serial data generator for downlink to HUD display.
Status reporting RS232 test output at 115200 Bd.
32 bit signed integer math.This is what 'main' looks like: main_loop: ; activate watchdog clrwdt goto main_loop
LOL
And I have still space left, have not optimized for code size:
root@raspberrypi:~/compile/pantel/gps_pic# jppp18pi -i gps.hex -e -p -Y Loading hex file: Program 15180 bytes at address 0x000000 ID 0 bytes at address 0x200000 Config 14 bytes at address 0x300000 EEPROM 0 bytes at address 0xf00000 Erasing chip. Writing program space. Writing config space. Verifying program space. Verifying config space. Ready.
Yes, PIC asm developed on a Raspberry Pi.
[1]PICs weight nothing and use no power....
I did it all in C on Raspi, but wanted to see if I could get it in a PIC. Seems I can, with space to spare.
In fact lots of it is test routines, when those are defined out.. who knows... No timers used!
Interesting, there was (or maybe is, dunno) 'Viper' the 'without interrupt' procssor.
Note to self: Do not post this. ;-)