gitextract_r4735z3c/ ├── CH32V003A4M6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32V003A4M6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── bme280/ │ │ ├── bin/ │ │ │ └── bme280.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── bme280.c │ │ ├── bme280.h │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── debug/ │ │ ├── bin/ │ │ │ └── debug.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── encoder/ │ │ ├── bin/ │ │ │ └── encoder.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── encoder_tim.c │ │ ├── encoder_tim.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── flash_test/ │ │ ├── bin/ │ │ │ └── flash_test.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── i2c_eeprom/ │ │ ├── bin/ │ │ │ └── i2c_eeprom.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── eeprom_24c.c │ │ ├── eeprom_24c.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── max7219_segment/ │ │ ├── bin/ │ │ │ └── max7219_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── max7219.c │ │ ├── max7219.h │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── system.c │ │ └── system.h │ ├── millis/ │ │ ├── bin/ │ │ │ └── millies.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── millis.c │ │ ├── millis.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_dma/ │ │ ├── bin/ │ │ │ └── neopixel_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── neo_dma.c │ │ ├── neo_dma.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_spi/ │ │ ├── bin/ │ │ │ └── neopixel_spi.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── neo_spi.c │ │ ├── neo_spi.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_sw/ │ │ ├── bin/ │ │ │ └── neopixel_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── neo_sw.c │ │ ├── neo_sw.h │ │ ├── system.c │ │ └── system.h │ ├── oled_conway/ │ │ ├── bin/ │ │ │ └── oled_conway.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_dma/ │ │ ├── bin/ │ │ │ └── oled_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── oled_dma.c │ │ ├── oled_dma.h │ │ ├── system.c │ │ └── system.h │ ├── oled_gfx/ │ │ ├── bin/ │ │ │ └── oled_gfx.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── ssd1306_gfx.c │ │ ├── ssd1306_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_mandelbrot/ │ │ ├── bin/ │ │ │ └── oled_mandelbrot.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_pic/ │ │ ├── bin/ │ │ │ └── oled_pic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_sinewave/ │ │ ├── bin/ │ │ │ └── oled_sinewave.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_terminal/ │ │ ├── bin/ │ │ │ └── oled_terminal.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── oled_term.c │ │ ├── oled_term.h │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma_rx.c │ │ └── uart_dma_rx.h │ ├── oled_txt/ │ │ ├── bin/ │ │ │ └── oled_txt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ └── system.h │ ├── pin_event/ │ │ ├── bin/ │ │ │ └── pin_event.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_interrupt/ │ │ ├── bin/ │ │ │ └── pin_interrupt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pwm/ │ │ ├── bin/ │ │ │ └── pwm.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset/ │ │ ├── bin/ │ │ │ └── reset.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset_pin/ │ │ ├── bin/ │ │ │ └── reset_pin.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset_pin_sw/ │ │ ├── bin/ │ │ │ └── reset_pin_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma.c │ │ └── uart_dma.h │ ├── sleep/ │ │ ├── bin/ │ │ │ └── sleep.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── st7302_lcd/ │ │ ├── bin/ │ │ │ └── st7302_lcd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── st7302_gfx_soft.c │ │ ├── st7302_gfx_soft.h │ │ ├── system.c │ │ └── system.h │ ├── st7789_tft/ │ │ ├── bin/ │ │ │ └── st7789_tft.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── st7735_gfx.c │ │ ├── st7735_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── tinybasic/ │ │ ├── bin/ │ │ │ └── tinybasic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── ttbasic.c │ │ ├── ttbasic.h │ │ ├── uart_dma.c │ │ └── uart_dma.h │ ├── tm1650_segment/ │ │ ├── bin/ │ │ │ └── tm1650_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── tm1650.c │ │ └── tm1650.h │ ├── vdd/ │ │ ├── bin/ │ │ │ └── vdd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── config.h │ ├── ld/ │ │ └── ch32v003.ld │ ├── makefile │ ├── platformio.ini │ └── src/ │ ├── ch32v003.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ └── system.h ├── CH32V003F4P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32V003F4P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── bme280/ │ │ ├── bin/ │ │ │ └── bme280.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── bme280.c │ │ ├── bme280.h │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── debug/ │ │ ├── bin/ │ │ │ └── debug.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── encoder/ │ │ ├── bin/ │ │ │ └── encoder.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── encoder_tim.c │ │ ├── encoder_tim.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── flash_test/ │ │ ├── bin/ │ │ │ └── flash_test.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── i2c_eeprom/ │ │ ├── bin/ │ │ │ └── i2c_eeprom.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── eeprom_24c.c │ │ ├── eeprom_24c.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── max7219_segment/ │ │ ├── bin/ │ │ │ └── max7219_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── max7219.c │ │ ├── max7219.h │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── system.c │ │ └── system.h │ ├── millis/ │ │ ├── bin/ │ │ │ └── millies.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── millis.c │ │ ├── millis.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_dma/ │ │ ├── bin/ │ │ │ └── neopixel_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── neo_dma.c │ │ ├── neo_dma.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_spi/ │ │ ├── bin/ │ │ │ └── neopixel_spi.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── neo_spi.c │ │ ├── neo_spi.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_sw/ │ │ ├── bin/ │ │ │ └── neopixel_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── neo_sw.c │ │ ├── neo_sw.h │ │ ├── system.c │ │ └── system.h │ ├── oled_conway/ │ │ ├── bin/ │ │ │ └── oled_conway.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_dma/ │ │ ├── bin/ │ │ │ └── oled_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── oled_dma.c │ │ ├── oled_dma.h │ │ ├── system.c │ │ └── system.h │ ├── oled_gfx/ │ │ ├── bin/ │ │ │ └── oled_gfx.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── ssd1306_gfx.c │ │ ├── ssd1306_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_mandelbrot/ │ │ ├── bin/ │ │ │ └── oled_mandelbrot.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_pic/ │ │ ├── bin/ │ │ │ └── oled_pic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_sinewave/ │ │ ├── bin/ │ │ │ └── oled_sinewave.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_terminal/ │ │ ├── bin/ │ │ │ └── oled_terminal.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── oled_term.c │ │ ├── oled_term.h │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma_rx.c │ │ └── uart_dma_rx.h │ ├── oled_txt/ │ │ ├── bin/ │ │ │ └── oled_txt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ └── system.h │ ├── pin_event/ │ │ ├── bin/ │ │ │ └── pin_event.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_interrupt/ │ │ ├── bin/ │ │ │ └── pin_interrupt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pwm/ │ │ ├── bin/ │ │ │ └── pwm.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset/ │ │ ├── bin/ │ │ │ └── reset.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset_pin/ │ │ ├── bin/ │ │ │ └── reset_pin.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── flash.c │ │ ├── flash.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset_pin_sw/ │ │ ├── bin/ │ │ │ └── reset_pin_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma.c │ │ └── uart_dma.h │ ├── sleep/ │ │ ├── bin/ │ │ │ └── sleep.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── st7302_lcd/ │ │ ├── bin/ │ │ │ └── st7302_lcd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── st7302_gfx_soft.c │ │ ├── st7302_gfx_soft.h │ │ ├── system.c │ │ └── system.h │ ├── st7789_tft/ │ │ ├── bin/ │ │ │ └── st7789_tft.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── st7735_gfx.c │ │ ├── st7735_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── tinybasic/ │ │ ├── bin/ │ │ │ └── tinybasic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── ttbasic.c │ │ ├── ttbasic.h │ │ ├── uart_dma.c │ │ └── uart_dma.h │ ├── tm1650_segment/ │ │ ├── bin/ │ │ │ └── tm1650_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── tm1650.c │ │ └── tm1650.h │ ├── vdd/ │ │ ├── bin/ │ │ │ └── vdd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── config.h │ ├── ld/ │ │ └── ch32v003.ld │ ├── makefile │ ├── platformio.ini │ └── src/ │ ├── ch32v003.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ └── system.h ├── CH32V003F4P6_DevBoard_VUSB/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32V003F4P6_DevBoard_VUSB_BOM.tsv │ ├── readme.md │ └── software/ │ ├── capsblock/ │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.h │ │ ├── usb_handler.S │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_keyboard.c │ │ └── usb_keyboard.h │ ├── mousewiggler/ │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.h │ │ ├── usb_handler.S │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_mouse.c │ │ └── usb_mouse.h │ ├── rubberducky/ │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32v003.ld │ │ ├── makefile │ │ └── src/ │ │ ├── ch32v003.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.h │ │ ├── usb_handler.S │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_keyboard.c │ │ └── usb_keyboard.h │ └── volumeknob/ │ ├── config.h │ ├── ld/ │ │ └── ch32v003.ld │ ├── makefile │ └── src/ │ ├── ch32v003.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ ├── system.h │ ├── usb.h │ ├── usb_consumer.c │ ├── usb_consumer.h │ ├── usb_descr.h │ ├── usb_handler.S │ ├── usb_handler.c │ └── usb_handler.h ├── CH32V203F6P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32V203F6P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── adc/ │ │ ├── bin/ │ │ │ └── adc.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── debug/ │ │ ├── bin/ │ │ │ └── debug.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── millis/ │ │ ├── bin/ │ │ │ └── millis.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── millis.c │ │ ├── millis.h │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── ld/ │ │ │ └── ch32v203x6.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32v203.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2_dma.c │ │ └── uart2_dma.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── ld/ │ │ └── ch32v203x6.ld │ ├── makefile │ ├── platformio.ini │ └── src/ │ ├── ch32v203.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ └── system.h ├── CH32X033F8P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32X033F8P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── adc/ │ │ ├── bin/ │ │ │ └── adc.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── capsblock/ │ │ ├── bin/ │ │ │ └── capsblock.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_hid.c │ │ ├── usb_hid.h │ │ ├── usb_keyboard.c │ │ └── usb_keyboard.h │ ├── cdc_echo/ │ │ ├── bin/ │ │ │ └── cdc_echo.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── debug_serial/ │ │ ├── bin/ │ │ │ └── debug_serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── i2c_eeprom/ │ │ ├── bin/ │ │ │ └── i2c_eeprom.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── eeprom_24c.c │ │ ├── eeprom_24c.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── max7219_segment/ │ │ ├── bin/ │ │ │ └── max7219_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── max7219.c │ │ ├── max7219.h │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── system.c │ │ └── system.h │ ├── millis/ │ │ ├── bin/ │ │ │ └── millis.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── millis.c │ │ ├── millis.h │ │ ├── system.c │ │ └── system.h │ ├── mousewiggler/ │ │ ├── bin/ │ │ │ └── mousewiggler.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_hid.c │ │ ├── usb_hid.h │ │ ├── usb_mouse.c │ │ └── usb_mouse.h │ ├── neopixel_spi/ │ │ ├── bin/ │ │ │ └── neopixel_spi.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── neo_spi.c │ │ ├── neo_spi.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_sw/ │ │ ├── bin/ │ │ │ └── neopixel_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── neo_sw.c │ │ ├── neo_sw.h │ │ ├── system.c │ │ └── system.h │ ├── oled_conway/ │ │ ├── bin/ │ │ │ └── oled_conway.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_gfx/ │ │ ├── bin/ │ │ │ └── oled_gfx.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── ssd1306_gfx.c │ │ ├── ssd1306_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_mandelbrot/ │ │ ├── bin/ │ │ │ └── oled_mandelbrot.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_sinewave/ │ │ ├── bin/ │ │ │ └── oled_sinewave.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_txt/ │ │ ├── bin/ │ │ │ └── oled_txt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ └── system.h │ ├── pin_event/ │ │ ├── bin/ │ │ │ └── pin_event.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_interrupt/ │ │ ├── bin/ │ │ │ └── pin_interrupt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_reset_sw/ │ │ ├── bin/ │ │ │ └── pin_reset_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset/ │ │ ├── bin/ │ │ │ └── reset.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2_dma.c │ │ └── uart2_dma.h │ ├── sleep/ │ │ ├── bin/ │ │ │ └── sleep.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── st7302_lcd/ │ │ ├── bin/ │ │ │ └── st7302_lcd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── st7302_gfx_soft.c │ │ ├── st7302_gfx_soft.h │ │ ├── system.c │ │ └── system.h │ ├── st7789_tft/ │ │ ├── bin/ │ │ │ └── st7789_tft.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── st7735_gfx.c │ │ ├── st7735_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── tinybasic/ │ │ ├── bin/ │ │ │ └── tinybasic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── ttbasic.c │ │ ├── ttbasic.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── tm1650_segment/ │ │ ├── bin/ │ │ │ └── tm1650_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── tm1650.c │ │ └── tm1650.h │ ├── touchkey/ │ │ ├── bin/ │ │ │ └── touchkey.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── usb2oled/ │ │ ├── bin/ │ │ │ └── usb2oled.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── oled_term.c │ │ ├── oled_term.h │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── usb2serial/ │ │ ├── bin/ │ │ │ └── usb2serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2_dma.c │ │ ├── uart2_dma.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── config.h │ ├── ld/ │ │ └── ch32x035.ld │ ├── makefile │ ├── platformio.ini │ └── src/ │ ├── ch32x035.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ └── system.h ├── CH32X035F7P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH32X035F7P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── adc/ │ │ ├── bin/ │ │ │ └── adc.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── capsblock/ │ │ ├── bin/ │ │ │ └── capsblock.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_hid.c │ │ ├── usb_hid.h │ │ ├── usb_keyboard.c │ │ └── usb_keyboard.h │ ├── cdc_echo/ │ │ ├── bin/ │ │ │ └── cdc_echo.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── debug_serial/ │ │ ├── bin/ │ │ │ └── debug_serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── i2c_eeprom/ │ │ ├── bin/ │ │ │ └── i2c_eeprom.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── eeprom_24c.c │ │ ├── eeprom_24c.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── max7219_segment/ │ │ ├── bin/ │ │ │ └── max7219_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── max7219.c │ │ ├── max7219.h │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── system.c │ │ └── system.h │ ├── millis/ │ │ ├── bin/ │ │ │ └── millis.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── millis.c │ │ ├── millis.h │ │ ├── system.c │ │ └── system.h │ ├── mousewiggler/ │ │ ├── bin/ │ │ │ └── mousewiggler.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ ├── usb_handler.h │ │ ├── usb_hid.c │ │ ├── usb_hid.h │ │ ├── usb_mouse.c │ │ └── usb_mouse.h │ ├── neopixel_spi/ │ │ ├── bin/ │ │ │ └── neopixel_spi.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── neo_spi.c │ │ ├── neo_spi.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_sw/ │ │ ├── bin/ │ │ │ └── neopixel_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── neo_sw.c │ │ ├── neo_sw.h │ │ ├── system.c │ │ └── system.h │ ├── oled_conway/ │ │ ├── bin/ │ │ │ └── oled_conway.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_gfx/ │ │ ├── bin/ │ │ │ └── oled_gfx.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── ssd1306_gfx.c │ │ ├── ssd1306_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_mandelbrot/ │ │ ├── bin/ │ │ │ └── oled_mandelbrot.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_sinewave/ │ │ ├── bin/ │ │ │ └── oled_sinewave.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── oled_txt/ │ │ ├── bin/ │ │ │ └── oled_txt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ └── system.h │ ├── pin_event/ │ │ ├── bin/ │ │ │ └── pin_event.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_interrupt/ │ │ ├── bin/ │ │ │ └── pin_interrupt.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── pin_reset_sw/ │ │ ├── bin/ │ │ │ └── pin_reset_sw.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── reset/ │ │ ├── bin/ │ │ │ └── reset.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2_dma.c │ │ └── uart2_dma.h │ ├── sleep/ │ │ ├── bin/ │ │ │ └── sleep.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── st7302_lcd/ │ │ ├── bin/ │ │ │ └── st7302_lcd.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── st7302_gfx_soft.c │ │ ├── st7302_gfx_soft.h │ │ ├── system.c │ │ └── system.h │ ├── st7789_tft/ │ │ ├── bin/ │ │ │ └── st7789_tft.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── st7735_gfx.c │ │ ├── st7735_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── tinybasic/ │ │ ├── bin/ │ │ │ └── tinybasic.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── ttbasic.c │ │ ├── ttbasic.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── tm1650_segment/ │ │ ├── bin/ │ │ │ └── tm1650_segment.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── tm1650.c │ │ └── tm1650.h │ ├── touchkey/ │ │ ├── bin/ │ │ │ └── touchkey.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ └── system.h │ ├── usb2oled/ │ │ ├── bin/ │ │ │ └── usb2oled.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── oled_term.c │ │ ├── oled_term.h │ │ ├── print.c │ │ ├── print.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── usb2serial/ │ │ ├── bin/ │ │ │ └── usb2serial.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2_dma.c │ │ ├── uart2_dma.h │ │ ├── usb.h │ │ ├── usb_cdc.c │ │ ├── usb_cdc.h │ │ ├── usb_descr.c │ │ ├── usb_descr.h │ │ ├── usb_handler.c │ │ └── usb_handler.h │ ├── usbpd_tester/ │ │ ├── bin/ │ │ │ └── usbpd_tester.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── i2c_soft.c │ │ ├── i2c_soft.h │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ ├── system.h │ │ ├── usbpd.h │ │ ├── usbpd_sink.c │ │ └── usbpd_sink.h │ ├── usbpd_vbus/ │ │ ├── bin/ │ │ │ └── usbpd_vbus.hex │ │ ├── config.h │ │ ├── ld/ │ │ │ └── ch32x035.ld │ │ ├── makefile │ │ ├── platformio.ini │ │ └── src/ │ │ ├── ch32x035.h │ │ ├── gpio.h │ │ ├── main.c │ │ ├── system.c │ │ ├── system.h │ │ ├── usbpd.h │ │ ├── usbpd_sink.c │ │ └── usbpd_sink.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── config.h │ ├── ld/ │ │ └── ch32x035.ld │ ├── makefile │ ├── platformio.ini │ └── src/ │ ├── ch32x035.h │ ├── gpio.h │ ├── main.c │ ├── system.c │ └── system.h ├── CH554E_HostDevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH554E_HostDevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ └── host_analyzer/ │ ├── host_analyzer.c │ ├── include/ │ │ ├── ch554.h │ │ ├── debug.c │ │ ├── debug.h │ │ ├── delay.c │ │ ├── delay.h │ │ ├── system.h │ │ ├── usb.h │ │ ├── usb_host.c │ │ └── usb_host.h │ ├── makefile │ └── tools/ │ └── chprog.py ├── CH55xE_DevStick/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH55xE_DevStick_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── blink.c │ │ ├── blink.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── bootkey/ │ │ ├── bootkey.c │ │ ├── bootkey.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── gpio.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── capsblock/ │ │ ├── capsblock.c │ │ ├── capsblock.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_keyboard.c │ │ │ └── usb_keyboard.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── cdc_echo/ │ │ ├── cdc_echo.c │ │ ├── cdc_echo.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── flashdump/ │ │ ├── flashdump.c │ │ ├── flashdump.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── eeprom.c │ │ │ ├── eeprom.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── mousewiggler/ │ │ ├── makefile │ │ ├── mousewiggler.c │ │ ├── mousewiggler.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_mouse.c │ │ │ └── usb_mouse.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── neopixel/ │ │ ├── makefile │ │ ├── neopixel.c │ │ ├── neopixel.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── neo.c │ │ │ ├── neo.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── neotouch/ │ │ ├── makefile │ │ ├── neotouch.c │ │ ├── neotouch.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── neo.c │ │ │ ├── neo.h │ │ │ ├── system.h │ │ │ ├── touch.c │ │ │ └── touch.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── pwm_fade/ │ │ ├── makefile │ │ ├── pwm_fade.c │ │ ├── pwm_fade.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── rubberducky/ │ │ ├── makefile │ │ ├── rubberducky.c │ │ ├── rubberducky.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_keyboard.c │ │ │ └── usb_keyboard.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── touchkey/ │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── touch.c │ │ │ └── touch.h │ │ ├── tools/ │ │ │ ├── chprog.py │ │ │ └── readme.md │ │ ├── touchkey.c │ │ └── touchkey.ino │ ├── touchraw/ │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── touch.c │ │ │ ├── touch.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ ├── tools/ │ │ │ ├── chprog.py │ │ │ └── readme.md │ │ ├── touchraw.c │ │ └── touchraw.ino │ └── watchdog/ │ ├── makefile │ ├── src/ │ │ ├── ch554.h │ │ ├── config.h │ │ ├── gpio.h │ │ └── system.h │ ├── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── watchdog.c │ └── watchdog.ino ├── CH55xG_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH55xG_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── blink.c │ │ ├── blink.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── capsblock/ │ │ ├── capsblock.c │ │ ├── capsblock.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_keyboard.c │ │ │ └── usb_keyboard.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── cdc_adc/ │ │ ├── cdc_adc.c │ │ ├── cdc_adc.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── cdc_echo/ │ │ ├── cdc_echo.c │ │ ├── cdc_echo.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── flashdump/ │ │ ├── flashdump.c │ │ ├── flashdump.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── eeprom.c │ │ │ ├── eeprom.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── mousewiggler/ │ │ ├── makefile │ │ ├── mousewiggler.c │ │ ├── mousewiggler.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_mouse.c │ │ │ └── usb_mouse.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ └── watchdog/ │ ├── makefile │ ├── src/ │ │ ├── ch554.h │ │ ├── gpio.h │ │ └── system.h │ ├── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── watchdog.c │ └── watchdog.ino ├── CH55xT_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── CH55xT_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── blink.c │ │ ├── blink.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── system.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── capsblock/ │ │ ├── capsblock.c │ │ ├── capsblock.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_keyboard.c │ │ │ └── usb_keyboard.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── cdc_adc/ │ │ ├── cdc_adc.c │ │ ├── cdc_adc.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── cdc_echo/ │ │ ├── cdc_echo.c │ │ ├── cdc_echo.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── flashdump/ │ │ ├── flashdump.c │ │ ├── flashdump.ino │ │ ├── makefile │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── eeprom.c │ │ │ ├── eeprom.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_cdc.c │ │ │ ├── usb_cdc.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ └── usb_handler.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── mousewiggler/ │ │ ├── makefile │ │ ├── mousewiggler.c │ │ ├── mousewiggler.ino │ │ ├── src/ │ │ │ ├── ch554.h │ │ │ ├── config.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── system.h │ │ │ ├── usb.h │ │ │ ├── usb_descr.c │ │ │ ├── usb_descr.h │ │ │ ├── usb_handler.c │ │ │ ├── usb_handler.h │ │ │ ├── usb_hid.c │ │ │ ├── usb_hid.h │ │ │ ├── usb_mouse.c │ │ │ └── usb_mouse.h │ │ └── tools/ │ │ ├── chprog.py │ │ └── readme.md │ └── watchdog/ │ ├── makefile │ ├── src/ │ │ ├── ch554.h │ │ ├── gpio.h │ │ └── system.h │ ├── tools/ │ │ ├── chprog.py │ │ └── readme.md │ ├── watchdog.c │ └── watchdog.ino ├── DevBoard_Adapter/ │ ├── LICENSE │ ├── hardware/ │ │ └── DevBoard_Adapter_BOM.tsv │ └── readme.md ├── LICENSE ├── MAX3000A_DevBoard/ │ ├── MAX3000A_DevBoard_BOM.tsv │ └── MAX3000A_DevBoard_readme.txt ├── PY32F002AF15P_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── PY32F002AF15P_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── bin/ │ │ │ └── blink.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── crc/ │ │ ├── bin/ │ │ │ └── crc.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── print.c │ │ ├── print.h │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── debug/ │ │ ├── bin/ │ │ │ └── debug.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── i2c_eeprom/ │ │ ├── bin/ │ │ │ └── i2c_eeprom.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── eeprom_24c.c │ │ ├── eeprom_24c.h │ │ ├── gpio.h │ │ ├── i2c.c │ │ ├── i2c.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── max7219_segment/ │ │ ├── bin/ │ │ │ └── mac7219_segment.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── main.c │ │ ├── max7219.c │ │ ├── max7219.h │ │ ├── py32f0xx.h │ │ ├── spi_tx.c │ │ ├── spi_tx.h │ │ ├── system.c │ │ └── system.h │ ├── neopixel_spi/ │ │ ├── bin/ │ │ │ └── neopixel_spi.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── neo_spi.c │ │ ├── neo_spi.h │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_conway/ │ │ ├── bin/ │ │ │ └── oled_conway.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_dma_tx.c │ │ ├── i2c_dma_tx.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_dma/ │ │ ├── bin/ │ │ │ └── oled_dma.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── oled_dma.c │ │ ├── oled_dma.h │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_gfx/ │ │ ├── bin/ │ │ │ └── oled_gfx.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_dma.c │ │ ├── i2c_dma.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── ssd1306_gfx.c │ │ ├── ssd1306_gfx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_mandelbrot/ │ │ ├── bin/ │ │ │ └── oled_mandelbrot.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_sinewave/ │ │ ├── bin/ │ │ │ └── oled_sinewave.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── oled_terminal/ │ │ ├── bin/ │ │ │ └── oled_terminal.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── oled_term.c │ │ ├── oled_term.h │ │ ├── print.c │ │ ├── print.h │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma_rx.c │ │ └── uart_dma_rx.h │ ├── oled_txt/ │ │ ├── bin/ │ │ │ └── oled_txt.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── ssd1306_txt.c │ │ ├── ssd1306_txt.h │ │ ├── system.c │ │ └── system.h │ ├── reset/ │ │ ├── bin/ │ │ │ └── reset.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── rtc/ │ │ ├── bin/ │ │ │ └── rtc.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── serial/ │ │ ├── bin/ │ │ │ └── serial.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart.c │ │ └── uart.h │ ├── serial2/ │ │ ├── bin/ │ │ │ └── serial2.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart2.c │ │ └── uart2.h │ ├── serial_dma/ │ │ ├── bin/ │ │ │ └── serial_dma.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── uart_dma.c │ │ └── uart_dma.h │ ├── sleep/ │ │ ├── bin/ │ │ │ └── sleep.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── sram_test/ │ │ ├── bin/ │ │ │ └── sram_test.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── debug_serial.c │ │ ├── debug_serial.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ └── system.h │ ├── tm1650_segment/ │ │ ├── bin/ │ │ │ └── tm1650_segment.hex │ │ ├── ld/ │ │ │ └── py32f002ax5.ld │ │ ├── makefile │ │ └── src/ │ │ ├── gpio.h │ │ ├── i2c_tx.c │ │ ├── i2c_tx.h │ │ ├── main.c │ │ ├── py32f0xx.h │ │ ├── system.c │ │ ├── system.h │ │ ├── tm1650.c │ │ └── tm1650.h │ └── watchdog/ │ ├── bin/ │ │ └── watchdog.hex │ ├── ld/ │ │ └── py32f002ax5.ld │ ├── makefile │ └── src/ │ ├── gpio.h │ ├── main.c │ ├── py32f0xx.h │ ├── system.c │ └── system.h ├── README.md ├── STC8H1K08_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── STC8H1K08_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── adc_vdd/ │ │ ├── adc_vdd.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── blink/ │ │ ├── blink.c │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── debug/ │ │ ├── debug.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── debug_soft/ │ │ ├── debug_soft.c │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── stc8h.h │ │ │ ├── uart_tx_soft.c │ │ │ └── uart_tx_soft.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── eeprom/ │ │ ├── eeprom_test.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── eeprom.c │ │ │ ├── eeprom.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── i2c_oled/ │ │ ├── i2c_oled.c │ │ ├── include/ │ │ │ ├── i2c.c │ │ │ ├── i2c.h │ │ │ ├── oled_term.c │ │ │ ├── oled_term.h │ │ │ ├── stc8h.h │ │ │ ├── uart1_int.c │ │ │ └── uart1_int.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── pwm_fade/ │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ ├── pwm_fade.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── reset/ │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── stc8h.h │ │ │ └── system.h │ │ ├── makefile │ │ ├── reset.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── serial/ │ │ ├── include/ │ │ │ ├── stc8h.h │ │ │ └── uart.h │ │ ├── makefile │ │ ├── serial.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── serial_int/ │ │ ├── include/ │ │ │ ├── stc8h.h │ │ │ ├── uart1_int.c │ │ │ └── uart1_int.h │ │ ├── makefile │ │ ├── serial_int.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── sleep/ │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stc8h.h │ │ │ └── system.h │ │ ├── makefile │ │ ├── sleep.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ ├── spi_max7219/ │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── spi.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ ├── spi_max7219.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ └── watchdog/ │ ├── include/ │ │ ├── delay.c │ │ ├── delay.h │ │ ├── gpio.h │ │ ├── stc8h.h │ │ └── system.h │ ├── makefile │ ├── tools/ │ │ ├── readme.md │ │ └── stc8isp.py │ └── watchdog.c ├── STC8H8K64U_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── STC8H8K64U_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── blink/ │ │ ├── blink.c │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8usb.py │ ├── pwm_fade/ │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ └── stc8h.h │ │ ├── makefile │ │ ├── pwm_fade.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8usb.py │ ├── reset/ │ │ ├── include/ │ │ │ ├── delay.c │ │ │ ├── delay.h │ │ │ ├── gpio.h │ │ │ ├── stc8h.h │ │ │ └── system.h │ │ ├── makefile │ │ ├── reset.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stc8usb.py │ └── sleep/ │ ├── include/ │ │ ├── gpio.h │ │ ├── stc8h.h │ │ └── system.h │ ├── makefile │ ├── sleep.c │ └── tools/ │ ├── readme.md │ └── stc8usb.py ├── STM32C011F4P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── STM32C011F4P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── adc/ │ │ ├── adc.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── gpio.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── backup/ │ │ ├── backup.c │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── blink/ │ │ ├── blink.c │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── crc/ │ │ ├── crc.c │ │ ├── include/ │ │ │ ├── print.c │ │ │ ├── print.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart.c │ │ │ └── uart.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── debug/ │ │ ├── debug.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── neopixel/ │ │ ├── include/ │ │ │ ├── neo_spi.c │ │ │ ├── neo_spi.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── neopixel.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── oled_terminal/ │ │ ├── include/ │ │ │ ├── i2c_tx.c │ │ │ ├── i2c_tx.h │ │ │ ├── oled_term.c │ │ │ ├── oled_term.h │ │ │ ├── print.c │ │ │ ├── print.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart_dma_rx.c │ │ │ └── uart_dma_rx.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── oled_terminal.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── reset/ │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── reset.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── rtc/ │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── gpio.h │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── rtc.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── serial/ │ │ ├── include/ │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart.c │ │ │ └── uart.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── serial.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── serial_dma/ │ │ ├── include/ │ │ │ ├── stm32c0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart_dma.c │ │ │ └── uart_dma.h │ │ ├── linker/ │ │ │ ├── stm32c011x4.ld │ │ │ ├── stm32c011x6.ld │ │ │ ├── stm32c031x4.ld │ │ │ └── stm32c031x6.ld │ │ ├── makefile │ │ ├── serial_dma.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ └── watchdog/ │ ├── include/ │ │ ├── gpio.h │ │ ├── stm32c0xx.h │ │ ├── system.c │ │ └── system.h │ ├── linker/ │ │ ├── stm32c011x4.ld │ │ ├── stm32c011x6.ld │ │ ├── stm32c031x4.ld │ │ └── stm32c031x6.ld │ ├── makefile │ ├── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ └── watchdog.c ├── STM32F030F4P6_DevBoard/ │ ├── LICENSE │ ├── hardware/ │ │ └── STM32F030F4P6_DevBoard_BOM.tsv │ ├── readme.md │ └── software/ │ ├── stm32f030/ │ │ ├── adc/ │ │ │ ├── adc.c │ │ │ ├── include/ │ │ │ │ ├── debug_serial.c │ │ │ │ ├── debug_serial.h │ │ │ │ ├── gpio.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── blink/ │ │ │ ├── blink.c │ │ │ ├── include/ │ │ │ │ ├── gpio.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── crc/ │ │ │ ├── crc.c │ │ │ ├── include/ │ │ │ │ ├── print.c │ │ │ │ ├── print.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ ├── system.h │ │ │ │ ├── uart.c │ │ │ │ └── uart.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── debug/ │ │ │ ├── debug.c │ │ │ ├── include/ │ │ │ │ ├── debug_serial.c │ │ │ │ ├── debug_serial.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── reset/ │ │ │ ├── include/ │ │ │ │ ├── gpio.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ ├── reset.c │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── rtc/ │ │ │ ├── include/ │ │ │ │ ├── debug_serial.c │ │ │ │ ├── debug_serial.h │ │ │ │ ├── gpio.h │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ ├── rtc.c │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── serial/ │ │ │ ├── include/ │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ ├── system.h │ │ │ │ ├── uart.c │ │ │ │ └── uart.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ ├── serial.c │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ ├── serial_dma/ │ │ │ ├── include/ │ │ │ │ ├── stm32f03x.h │ │ │ │ ├── system.c │ │ │ │ ├── system.h │ │ │ │ ├── uart_dma.c │ │ │ │ └── uart_dma.h │ │ │ ├── linker/ │ │ │ │ └── stm32f030x4.ld │ │ │ ├── makefile │ │ │ ├── serial_dma.c │ │ │ └── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ └── watchdog/ │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32f03x.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32f030x4.ld │ │ ├── makefile │ │ ├── tools/ │ │ │ ├── readme.md │ │ │ └── stm32isp.py │ │ └── watchdog.c │ └── stm32l010/ │ ├── adc/ │ │ ├── adc.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── gpio.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── blink/ │ │ ├── blink.c │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── crc/ │ │ ├── crc.c │ │ ├── include/ │ │ │ ├── print.c │ │ │ ├── print.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart.c │ │ │ └── uart.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── debug/ │ │ ├── debug.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── eeprom/ │ │ ├── eeprom.c │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── eeprom.c │ │ │ ├── eeprom.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── lptim/ │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── lptim.c │ │ ├── makefile │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── reset/ │ │ ├── include/ │ │ │ ├── gpio.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ ├── reset.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── rtc/ │ │ ├── include/ │ │ │ ├── debug_serial.c │ │ │ ├── debug_serial.h │ │ │ ├── gpio.h │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ └── system.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ ├── rtc.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ ├── serial/ │ │ ├── include/ │ │ │ ├── stm32l0xx.h │ │ │ ├── system.c │ │ │ ├── system.h │ │ │ ├── uart.c │ │ │ └── uart.h │ │ ├── linker/ │ │ │ └── stm32l010x4.ld │ │ ├── makefile │ │ ├── serial.c │ │ └── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ └── watchdog/ │ ├── include/ │ │ ├── gpio.h │ │ ├── stm32l0xx.h │ │ ├── system.c │ │ └── system.h │ ├── linker/ │ │ └── stm32l010x4.ld │ ├── makefile │ ├── tools/ │ │ ├── readme.md │ │ └── stm32isp.py │ └── watchdog.c └── STM32G030F6P6_DevBoard/ ├── LICENSE ├── hardware/ │ └── STM32G030F6P6_DevBoard_BOM.tsv ├── readme.md └── software/ ├── adc/ │ ├── bin/ │ │ └── adc.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── debug_serial.c │ ├── debug_serial.h │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── blink/ │ ├── bin/ │ │ └── blink.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── crc/ │ ├── bin/ │ │ └── crc.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── main.c │ ├── print.c │ ├── print.h │ ├── stm32g0xx.h │ ├── system.c │ ├── system.h │ ├── uart2.c │ └── uart2.h ├── debug/ │ ├── bin/ │ │ └── debug.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── debug_serial.c │ ├── debug_serial.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── lptim/ │ ├── bin/ │ │ └── lptim.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── neopixel_spi/ │ ├── bin/ │ │ └── neopixel_spi.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── main.c │ ├── neo_spi.c │ ├── neo_spi.h │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── oled_mandelbrot/ │ ├── bin/ │ │ └── oled_mandelbrot.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── i2c_tx.c │ ├── i2c_tx.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── random/ │ ├── bin/ │ │ └── random.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── debug_serial.c │ ├── debug_serial.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── reset/ │ ├── bin/ │ │ └── reset.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── rtc/ │ ├── bin/ │ │ └── rtc.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── debug_serial.c │ ├── debug_serial.h │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── serial/ │ ├── bin/ │ │ └── serial.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ ├── system.h │ ├── uart.c │ └── uart.h ├── serial2/ │ ├── bin/ │ │ └── serial2.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ ├── system.h │ ├── uart2.c │ └── uart2.h ├── serial2_dma/ │ ├── bin/ │ │ └── serial2_dma.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ ├── system.h │ ├── uart2_dma.c │ └── uart2_dma.h ├── serial_lp/ │ ├── bin/ │ │ └── serial_lp.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── lpuart.c │ ├── lpuart.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h ├── sleep/ │ ├── bin/ │ │ └── sleep.hex │ ├── ld/ │ │ └── stm32g030x6.ld │ ├── makefile │ └── src/ │ ├── gpio.h │ ├── main.c │ ├── stm32g0xx.h │ ├── system.c │ └── system.h └── watchdog/ ├── bin/ │ └── watchdog.hex ├── ld/ │ └── stm32g030x6.ld ├── makefile └── src/ ├── gpio.h ├── main.c ├── stm32g0xx.h ├── system.c └── system.h