Disclaimer text: // High-density devices only (Maple Native) Board portability is implemented by adding a header file to ./libmaple with the name of the BOARD target, and then editing libmaple.h to add this file as an option. A pin maple file should be added to ./notes describing the pin numbering Files to check by hand: # adc.c # adc.h # exc.c # exti.c # exti.h # flash.c # flash.h # gpio.c # gpio.h # libmaple_types.h # nvic.c # nvic.h # rcc.c # rcc.h # ring_buffer.h # rules.mk # spi.c - spi.h # syscalls.c # systick.c # systick.h # timers.c # timers.h # usart.c # usart.h # util.c # util.h # libmaple.h # usb/* # wirish/* ADC Notes: only using ADC1? untested EXTI Notes: need to update huge table in comments? untested NVIC Notes: I don't think NVIC_ISER3 and NVIC_ICER3 actually exist? Only CANBUS and USB OTG use interrupts above #63, but I updated the nvic code anyways RCC Notes: Added some clock stuff to all boards even though they aren't usable... blah. SPI Notes: SPI3 is only in XL chips so didn't really handle that TIMER Notes: High-density devices add an advanced timer (TIMER8) and another normal one (TIMER5). TIMER6 and TIMER7 are much less useful. There is some partial progress towards adding timer5/timer8 functionality, but not much. This should probably all be rewritten. USART Notes: The USART/UART nomeclature is a little mixed up.