├── README.md ├── arduino ├── esp_new_jpeg │ ├── examples │ │ └── DecodeTest │ │ │ ├── DecodeTest.ino │ │ │ └── data │ │ │ └── img_test_320_240.jpg │ ├── library.properties │ ├── license.txt │ └── src │ │ ├── CMakeLists.txt │ │ ├── ESP_NEW_JPEG_Library.h │ │ ├── esp32 │ │ └── libesp_new_jpeg.a │ │ ├── esp32c2 │ │ └── libesp_new_jpeg.a │ │ ├── esp32c3 │ │ └── libesp_new_jpeg.a │ │ ├── esp32c5 │ │ └── libesp_new_jpeg.a │ │ ├── esp32c6 │ │ └── libesp_new_jpeg.a │ │ ├── esp32p4 │ │ └── libesp_new_jpeg.a │ │ ├── esp32s2 │ │ └── libesp_new_jpeg.a │ │ ├── esp32s3 │ │ └── libesp_new_jpeg.a │ │ └── include │ │ ├── esp_jpeg_common.h │ │ ├── esp_jpeg_dec.h │ │ ├── esp_jpeg_enc.h │ │ └── esp_jpeg_version.h ├── udisp_xfz1986 │ ├── README.md │ ├── examples │ │ └── esp32sx_udisp_st7789 │ │ │ └── esp32sx_udisp_st7789.ino │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ ├── license.txt │ └── src │ │ ├── udisp1986.cpp │ │ └── udisp1986.h └── udisp_xfz1986_v1.0_readme_for_arduino.txt ├── bin ├── esp32_s2_bin │ ├── bootloader.bin │ ├── ili9340.bin │ ├── partition-table.bin │ └── st7789.bin ├── xfz1986_usb_graphic_windos10_driver-v2.0 │ ├── xfz1986_usb_graphic.cat │ ├── xfz1986_usb_graphic.dll │ └── xfz1986_usb_graphic.inf └── xfz1986_usb_graphic_windos10_driver │ ├── xfz1986_usb_graphic.cat │ ├── xfz1986_usb_graphic.dll │ └── xfz1986_usb_graphic.inf ├── demo ├── all.jpg ├── drv.png ├── esp32s2.jpg └── setting.png ├── device_porting ├── esp-idf-esp32s2_usbdisp_firmware │ ├── components │ │ └── tinyusb │ │ │ ├── CMakeLists.txt │ │ │ ├── Kconfig │ │ │ ├── additions │ │ │ ├── include │ │ │ │ ├── tinyusb.h │ │ │ │ ├── tinyusb_types.h │ │ │ │ ├── tusb_cdc_acm.h │ │ │ │ ├── tusb_config.h │ │ │ │ ├── tusb_console.h │ │ │ │ ├── tusb_tasks.h │ │ │ │ └── vfs_tinyusb.h │ │ │ ├── include_private │ │ │ │ ├── cdc.h │ │ │ │ ├── descriptors_control.h │ │ │ │ └── usb_descriptors.h │ │ │ └── src │ │ │ │ ├── cdc.c │ │ │ │ ├── descriptors_control.c │ │ │ │ ├── tinyusb.c │ │ │ │ ├── tusb_cdc_acm.c │ │ │ │ ├── tusb_console.c │ │ │ │ ├── tusb_tasks.c │ │ │ │ ├── usb_descriptors.c │ │ │ │ └── vfs_tinyusb.c │ │ │ └── tinyusb │ │ │ ├── .gitattributes │ │ │ ├── .github │ │ │ ├── ISSUE_TEMPLATE │ │ │ │ ├── bug_report.md │ │ │ │ ├── feature_request.md │ │ │ │ └── porting.md │ │ │ ├── pull_request_template.md │ │ │ └── workflows │ │ │ │ ├── build.yml │ │ │ │ └── trigger.yml │ │ │ ├── .gitignore │ │ │ ├── .gitmodules │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── CONTRIBUTORS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── changelog.md │ │ │ ├── docs │ │ │ ├── boards.md │ │ │ ├── concurrency.md │ │ │ ├── getting_started.md │ │ │ └── porting.md │ │ │ ├── hw │ │ │ ├── bsp │ │ │ │ ├── adafruit_clue │ │ │ │ │ ├── adafruit_clue.c │ │ │ │ │ ├── board.mk │ │ │ │ │ └── nrf52840_s140_v6.ld │ │ │ │ ├── ansi_escape.h │ │ │ │ ├── arduino_nano33_ble │ │ │ │ │ ├── arduino_nano33_ble.c │ │ │ │ │ ├── arduino_nano33_ble.ld │ │ │ │ │ └── board.mk │ │ │ │ ├── atsamd21_xpro │ │ │ │ │ ├── atsamd21_xpro.c │ │ │ │ │ ├── board.mk │ │ │ │ │ └── samd21j18a_flash.ld │ │ │ │ ├── board.c │ │ │ │ ├── board.h │ │ │ │ ├── board_mcu.h │ │ │ │ ├── circuitplayground_bluefruit │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── circuitplayground_bluefruit.c │ │ │ │ │ └── nrf52840_s140_v6.ld │ │ │ │ ├── circuitplayground_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── circuitplayground_express.c │ │ │ │ │ └── samd21g18a_flash.ld │ │ │ │ ├── d5035_01 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── d5035_01.c │ │ │ │ │ └── same51j19a_flash.ld │ │ │ │ ├── da14695_dk_usb │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── da14695_dk_usb.c │ │ │ │ │ ├── da1469x.ld │ │ │ │ │ ├── gcc_startup_da1469x.S │ │ │ │ │ ├── product_header.dump │ │ │ │ │ └── syscfg │ │ │ │ │ │ └── syscfg.h │ │ │ │ ├── da1469x_dk_pro │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── da1469x-dk-pro.c │ │ │ │ │ ├── da1469x.ld │ │ │ │ │ ├── gcc_startup_da1469x.S │ │ │ │ │ ├── product_header.dump │ │ │ │ │ └── syscfg │ │ │ │ │ │ └── syscfg.h │ │ │ │ ├── double_m33_express │ │ │ │ │ ├── LPC55S69_cm33_core0_uf2.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ └── double_m33_express.c │ │ │ │ ├── ea4088qs │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── ea4088qs.c │ │ │ │ │ └── lpc4088.ld │ │ │ │ ├── ea4357 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── ea4357.c │ │ │ │ │ ├── lpc4357.ld │ │ │ │ │ ├── pca9532.c │ │ │ │ │ └── pca9532.h │ │ │ │ ├── esp32s2_kaluga_1 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── esp32s2_kaluga_1.c │ │ │ │ │ └── led_strip │ │ │ │ │ │ ├── include │ │ │ │ │ │ └── led_strip.h │ │ │ │ │ │ └── src │ │ │ │ │ │ └── led_strip_rmt_ws2812.c │ │ │ │ ├── esp32s2_saola_1 │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── esp32s2_saola_1.c │ │ │ │ │ └── led_strip │ │ │ │ │ │ ├── include │ │ │ │ │ │ └── led_strip.h │ │ │ │ │ │ └── src │ │ │ │ │ │ └── led_strip_rmt_ws2812.c │ │ │ │ ├── feather_m0_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── feather_m0_express.c │ │ │ │ │ └── samd21g18a_flash.ld │ │ │ │ ├── feather_m4_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── feather_m4_express.c │ │ │ │ │ └── samd51g19a_flash.ld │ │ │ │ ├── feather_nrf52840_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── feather_nrf52840_express.c │ │ │ │ │ └── nrf52840_s140_v6.ld │ │ │ │ ├── feather_nrf52840_sense │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── feather_nrf52840_sense.c │ │ │ │ │ └── nrf52840_s140_v6.ld │ │ │ │ ├── feather_stm32f405 │ │ │ │ │ ├── STM32F405RGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── feather_stm32f405.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── fomu │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── crt0-vexriscv.S │ │ │ │ │ ├── dfu.py │ │ │ │ │ ├── fomu.c │ │ │ │ │ ├── fomu.ld │ │ │ │ │ ├── include │ │ │ │ │ │ ├── csr.h │ │ │ │ │ │ ├── hw │ │ │ │ │ │ │ └── common.h │ │ │ │ │ │ └── irq.h │ │ │ │ │ ├── output_format.ld │ │ │ │ │ └── regions.ld │ │ │ │ ├── frdm_kl25z │ │ │ │ │ ├── board.mk │ │ │ │ │ └── frdm_kl25z.c │ │ │ │ ├── itsybitsy_m0 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── itsybitsy_m0.c │ │ │ │ │ └── samd21g18a_flash.ld │ │ │ │ ├── itsybitsy_m4 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── itsybitsy_m4.c │ │ │ │ │ └── samd51g19a_flash.ld │ │ │ │ ├── itsybitsy_nrf52840 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── itsybitsy_nrf52840.c │ │ │ │ │ └── nrf52840_s140_v6.ld │ │ │ │ ├── lpcxpresso11u37 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc11u37.ld │ │ │ │ │ └── lpcxpresso11u37.c │ │ │ │ ├── lpcxpresso11u68 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc11u68.ld │ │ │ │ │ └── lpcxpresso11u68.c │ │ │ │ ├── lpcxpresso1347 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc1347.ld │ │ │ │ │ └── lpcxpresso1347.c │ │ │ │ ├── lpcxpresso1549 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc1549.ld │ │ │ │ │ └── lpcxpresso1549.c │ │ │ │ ├── lpcxpresso1769 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc1769.ld │ │ │ │ │ └── lpcxpresso1769.c │ │ │ │ ├── lpcxpresso51u68 │ │ │ │ │ ├── board.mk │ │ │ │ │ └── lpcxpresso51u68.c │ │ │ │ ├── lpcxpresso54114 │ │ │ │ │ ├── board.mk │ │ │ │ │ └── lpcxpresso54114.c │ │ │ │ ├── lpcxpresso55s69 │ │ │ │ │ ├── board.mk │ │ │ │ │ └── lpcxpresso55s69.c │ │ │ │ ├── luna │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── luna.c │ │ │ │ │ └── samd21g18a_flash.ld │ │ │ │ ├── mbed1768 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc1768.ld │ │ │ │ │ └── mbed1768.c │ │ │ │ ├── mcb1800 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── lpc1857.ld │ │ │ │ │ └── mcb1800.c │ │ │ │ ├── metro_m0_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── metro_m0_express.c │ │ │ │ │ └── samd21g18a_flash.ld │ │ │ │ ├── metro_m4_express │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── metro_m4_express.c │ │ │ │ │ └── samd51g19a_flash.ld │ │ │ │ ├── mimxrt1010_evk │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkmimxrt1010_flexspi_nor_config.c │ │ │ │ │ ├── evkmimxrt1010_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1010_evk.c │ │ │ │ ├── mimxrt1015_evk │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkmimxrt1015_flexspi_nor_config.c │ │ │ │ │ ├── evkmimxrt1015_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1015_evk.c │ │ │ │ ├── mimxrt1020_evk │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkmimxrt1020_flexspi_nor_config.c │ │ │ │ │ ├── evkmimxrt1020_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1020_evk.c │ │ │ │ ├── mimxrt1050_evkb │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkbimxrt1050_flexspi_nor_config.c │ │ │ │ │ ├── evkbimxrt1050_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1050_evkb.c │ │ │ │ ├── mimxrt1060_evk │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkmimxrt1060_flexspi_nor_config.c │ │ │ │ │ ├── evkmimxrt1060_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1060_evk.c │ │ │ │ ├── mimxrt1064_evk │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── evkmimxrt1064_flexspi_nor_config.c │ │ │ │ │ ├── evkmimxrt1064_flexspi_nor_config.h │ │ │ │ │ └── mimxrt1064_evk.c │ │ │ │ ├── msp_exp430f5529lp │ │ │ │ │ ├── board.mk │ │ │ │ │ └── msp_exp430f5529lp.c │ │ │ │ ├── ngx4330 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── ngx4330.c │ │ │ │ │ └── ngx4330.ld │ │ │ │ ├── nrf52840_mdk_dongle │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nrf52840_mdk_dongle.c │ │ │ │ │ └── nrf52840_mdk_dongle.ld │ │ │ │ ├── nutiny_nuc121s │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nuc121_flash.ld │ │ │ │ │ └── nutiny_nuc121.c │ │ │ │ ├── nutiny_nuc125s │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nuc125_flash.ld │ │ │ │ │ └── nutiny_nuc125.c │ │ │ │ ├── nutiny_nuc126v │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nuc126_flash.ld │ │ │ │ │ └── nutiny_nuc126.c │ │ │ │ ├── nutiny_sdk_nuc120 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nuc120_flash.ld │ │ │ │ │ └── nutiny_sdk_nuc120.c │ │ │ │ ├── nutiny_sdk_nuc505 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── nuc505_flashtoram.ld │ │ │ │ │ └── nutiny_sdk_nuc505.c │ │ │ │ ├── pca10056 │ │ │ │ │ ├── board.mk │ │ │ │ │ └── pca10056.c │ │ │ │ ├── pca10059 │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── pca10059.c │ │ │ │ │ └── pca10059.ld │ │ │ │ ├── pca10100 │ │ │ │ │ ├── board.mk │ │ │ │ │ └── pca10100.c │ │ │ │ ├── pyboardv11 │ │ │ │ │ ├── STM32F405RGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── pyboardv11.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── raytac_mdbt50q_rx │ │ │ │ │ ├── board.mk │ │ │ │ │ └── raytac_mdbt50q_rx.c │ │ │ │ ├── samd11_xplained │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── samd11_xplained.c │ │ │ │ │ └── samd11d14am_flash.ld │ │ │ │ ├── same70_xplained │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── hpl_pmc_config.h │ │ │ │ │ ├── hpl_usart_config.h │ │ │ │ │ ├── hpl_xdmac_config.h │ │ │ │ │ ├── peripheral_clk_config.h │ │ │ │ │ └── same70_xplained.c │ │ │ │ ├── samg55xplained │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── hpl_usart_config.h │ │ │ │ │ ├── peripheral_clk_config.h │ │ │ │ │ ├── samg55j19_flash.ld │ │ │ │ │ └── samg55xplained.c │ │ │ │ ├── seeeduino_xiao │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── samd21g18a_flash.ld │ │ │ │ │ └── seeeduino_xiao.c │ │ │ │ ├── spresense │ │ │ │ │ ├── board.mk │ │ │ │ │ └── board_spresense.c │ │ │ │ ├── stlinkv3mini │ │ │ │ │ ├── STM32F723xE_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stlinkv3mini.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32f070rbnucleo │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32F070rbtx_flash.ld │ │ │ │ │ ├── stm32f070rbnucleo.c │ │ │ │ │ └── stm32f0xx_hal_conf.h │ │ │ │ ├── stm32f072disco │ │ │ │ │ ├── STM32F072RBTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f072disco.c │ │ │ │ │ └── stm32f0xx_hal_conf.h │ │ │ │ ├── stm32f103bluepill │ │ │ │ │ ├── STM32F103XB_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f103bluepill.c │ │ │ │ │ └── stm32f1xx_hal_conf.h │ │ │ │ ├── stm32f207nucleo │ │ │ │ │ ├── STM32F207ZGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f207nucleo.c │ │ │ │ │ └── stm32f2xx_hal_conf.h │ │ │ │ ├── stm32f303disco │ │ │ │ │ ├── STM32F303VCTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f303disco.c │ │ │ │ │ └── stm32f3xx_hal_conf.h │ │ │ │ ├── stm32f401blackpill │ │ │ │ │ ├── STM32F401VCTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f401blackpill.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── stm32f407disco │ │ │ │ │ ├── STM32F407VGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f407disco.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── stm32f411blackpill │ │ │ │ │ ├── STM32F411CEUx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f411blackpill.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── stm32f411disco │ │ │ │ │ ├── STM32F411VETx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f411disco.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── stm32f412disco │ │ │ │ │ ├── STM32F412ZGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f412disco.c │ │ │ │ │ └── stm32f4xx_hal_conf.h │ │ │ │ ├── stm32f723disco │ │ │ │ │ ├── STM32F723xE_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f723disco.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32f746disco │ │ │ │ │ ├── STM32F746ZGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f746disco.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32f746nucleo │ │ │ │ │ ├── STM32F746ZGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f746nucleo.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32f767nucleo │ │ │ │ │ ├── STM32F767ZITx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f767nucleo.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32f769disco │ │ │ │ │ ├── STM32F769ZITx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32f769disco.c │ │ │ │ │ └── stm32f7xx_hal_conf.h │ │ │ │ ├── stm32h743eval │ │ │ │ │ ├── STM32H743XIHx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32h743eval.c │ │ │ │ │ └── stm32h7xx_hal_conf.h │ │ │ │ ├── stm32h743nucleo │ │ │ │ │ ├── STM32H743ZITx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32h743nucleo.c │ │ │ │ │ └── stm32h7xx_hal_conf.h │ │ │ │ ├── stm32h745disco │ │ │ │ │ ├── STM32H74xXIHx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32h745disco.c │ │ │ │ │ └── stm32h7xx_hal_conf.h │ │ │ │ ├── stm32l0538disco │ │ │ │ │ ├── STM32L053C8Tx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32l0538disco.c │ │ │ │ │ └── stm32l0xx_hal_conf.h │ │ │ │ ├── stm32l476disco │ │ │ │ │ ├── STM32L476VGTx_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32l476disco.c │ │ │ │ │ └── stm32l4xx_hal_conf.h │ │ │ │ ├── stm32l4r5nucleo │ │ │ │ │ ├── STM32L4RXxI_FLASH.ld │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── stm32l4r5nucleo.c │ │ │ │ │ └── stm32l4xx_hal_conf.h │ │ │ │ └── teensy_40 │ │ │ │ │ ├── board.h │ │ │ │ │ ├── board.mk │ │ │ │ │ ├── teensy40.c │ │ │ │ │ ├── teensy40_flexspi_nor_config.c │ │ │ │ │ └── teensy40_flexspi_nor_config.h │ │ │ └── mcu │ │ │ │ ├── dialog │ │ │ │ ├── README.md │ │ │ │ └── da1469x │ │ │ │ │ ├── SDK_10.0.8.105 │ │ │ │ │ └── sdk │ │ │ │ │ │ └── bsp │ │ │ │ │ │ ├── arm_license.txt │ │ │ │ │ │ └── include │ │ │ │ │ │ ├── DA1469xAB.h │ │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ │ ├── cmsis_version.h │ │ │ │ │ │ ├── core_cm0.h │ │ │ │ │ │ ├── core_cm33.h │ │ │ │ │ │ ├── mpu_armv8.h │ │ │ │ │ │ ├── system_ARMCM0.h │ │ │ │ │ │ └── system_DA1469x.h │ │ │ │ │ ├── da1469x.ld │ │ │ │ │ ├── include │ │ │ │ │ ├── hal │ │ │ │ │ │ └── hal_gpio.h │ │ │ │ │ └── mcu │ │ │ │ │ │ ├── da1469x_clock.h │ │ │ │ │ │ ├── da1469x_hal.h │ │ │ │ │ │ └── mcu.h │ │ │ │ │ └── src │ │ │ │ │ ├── da1469x_clock.c │ │ │ │ │ ├── hal_gpio.c │ │ │ │ │ ├── hal_system.c │ │ │ │ │ ├── hal_system_start.c │ │ │ │ │ └── system_da1469x.c │ │ │ │ └── nordic │ │ │ │ ├── nrf5x │ │ │ │ └── s140_nrf52_6.1.1_API │ │ │ │ │ └── include │ │ │ │ │ ├── ble.h │ │ │ │ │ ├── ble_err.h │ │ │ │ │ ├── ble_gap.h │ │ │ │ │ ├── ble_gatt.h │ │ │ │ │ ├── ble_gattc.h │ │ │ │ │ ├── ble_gatts.h │ │ │ │ │ ├── ble_hci.h │ │ │ │ │ ├── ble_l2cap.h │ │ │ │ │ ├── ble_ranges.h │ │ │ │ │ ├── ble_types.h │ │ │ │ │ ├── nrf52 │ │ │ │ │ └── nrf_mbr.h │ │ │ │ │ ├── nrf_error.h │ │ │ │ │ ├── nrf_error_sdm.h │ │ │ │ │ ├── nrf_error_soc.h │ │ │ │ │ ├── nrf_nvic.h │ │ │ │ │ ├── nrf_sdm.h │ │ │ │ │ ├── nrf_soc.h │ │ │ │ │ └── nrf_svc.h │ │ │ │ ├── nrfx_config.h │ │ │ │ ├── nrfx_glue.h │ │ │ │ └── nrfx_log.h │ │ │ ├── lib │ │ │ ├── SEGGER_RTT │ │ │ │ ├── License.txt │ │ │ │ ├── README.txt │ │ │ │ ├── RTT │ │ │ │ │ ├── SEGGER_RTT.c │ │ │ │ │ ├── SEGGER_RTT.h │ │ │ │ │ ├── SEGGER_RTT_ASM_ARMv7M.S │ │ │ │ │ ├── SEGGER_RTT_Conf.h │ │ │ │ │ └── SEGGER_RTT_printf.c │ │ │ │ └── Syscalls │ │ │ │ │ ├── SEGGER_RTT_Syscalls_GCC.c │ │ │ │ │ ├── SEGGER_RTT_Syscalls_IAR.c │ │ │ │ │ ├── SEGGER_RTT_Syscalls_KEIL.c │ │ │ │ │ └── SEGGER_RTT_Syscalls_SES.c │ │ │ ├── fatfs │ │ │ │ ├── 00readme.txt │ │ │ │ ├── ccsbcs.c │ │ │ │ ├── diskio.c │ │ │ │ ├── diskio.h │ │ │ │ ├── ff.c │ │ │ │ ├── ff.h │ │ │ │ ├── ffconf.h │ │ │ │ └── integer.h │ │ │ └── networking │ │ │ │ ├── dhserver.c │ │ │ │ ├── dhserver.h │ │ │ │ ├── dnserver.c │ │ │ │ ├── dnserver.h │ │ │ │ ├── ndis.h │ │ │ │ ├── rndis_protocol.h │ │ │ │ └── rndis_reports.c │ │ │ ├── pkg.yml │ │ │ ├── repository.yml │ │ │ ├── src │ │ │ ├── class │ │ │ │ ├── audio │ │ │ │ │ ├── audio.h │ │ │ │ │ ├── audio_device.c │ │ │ │ │ └── audio_device.h │ │ │ │ ├── bth │ │ │ │ │ ├── bth_device.c │ │ │ │ │ └── bth_device.h │ │ │ │ ├── cdc │ │ │ │ │ ├── cdc.h │ │ │ │ │ ├── cdc_device.c │ │ │ │ │ ├── cdc_device.h │ │ │ │ │ ├── cdc_host.c │ │ │ │ │ ├── cdc_host.h │ │ │ │ │ ├── cdc_rndis.h │ │ │ │ │ ├── cdc_rndis_host.c │ │ │ │ │ └── cdc_rndis_host.h │ │ │ │ ├── dfu │ │ │ │ │ ├── dfu_rt_device.c │ │ │ │ │ └── dfu_rt_device.h │ │ │ │ ├── hid │ │ │ │ │ ├── hid.h │ │ │ │ │ ├── hid_device.c │ │ │ │ │ ├── hid_device.h │ │ │ │ │ ├── hid_host.c │ │ │ │ │ └── hid_host.h │ │ │ │ ├── midi │ │ │ │ │ ├── midi.h │ │ │ │ │ ├── midi_device.c │ │ │ │ │ └── midi_device.h │ │ │ │ ├── msc │ │ │ │ │ ├── msc.h │ │ │ │ │ ├── msc_device.c │ │ │ │ │ ├── msc_device.h │ │ │ │ │ ├── msc_host.c │ │ │ │ │ └── msc_host.h │ │ │ │ ├── net │ │ │ │ │ ├── net_device.c │ │ │ │ │ └── net_device.h │ │ │ │ ├── usbtmc │ │ │ │ │ ├── usbtmc.h │ │ │ │ │ ├── usbtmc_device.c │ │ │ │ │ └── usbtmc_device.h │ │ │ │ └── vendor │ │ │ │ │ ├── vendor_device.c │ │ │ │ │ ├── vendor_device.h │ │ │ │ │ ├── vendor_host.c │ │ │ │ │ └── vendor_host.h │ │ │ ├── common │ │ │ │ ├── tusb_common.h │ │ │ │ ├── tusb_compiler.h │ │ │ │ ├── tusb_error.h │ │ │ │ ├── tusb_fifo.c │ │ │ │ ├── tusb_fifo.h │ │ │ │ ├── tusb_timeout.h │ │ │ │ ├── tusb_types.h │ │ │ │ └── tusb_verify.h │ │ │ ├── device │ │ │ │ ├── dcd.h │ │ │ │ ├── usbd.c │ │ │ │ ├── usbd.h │ │ │ │ ├── usbd_control.c │ │ │ │ └── usbd_pvt.h │ │ │ ├── host │ │ │ │ ├── ehci │ │ │ │ │ ├── ehci.c │ │ │ │ │ └── ehci.h │ │ │ │ ├── hcd.h │ │ │ │ ├── hub.c │ │ │ │ ├── hub.h │ │ │ │ ├── ohci │ │ │ │ │ ├── ohci.c │ │ │ │ │ └── ohci.h │ │ │ │ ├── usbh.c │ │ │ │ ├── usbh.h │ │ │ │ ├── usbh_control.c │ │ │ │ └── usbh_hcd.h │ │ │ ├── osal │ │ │ │ ├── osal.h │ │ │ │ ├── osal_freertos.h │ │ │ │ ├── osal_mynewt.h │ │ │ │ └── osal_none.h │ │ │ ├── portable │ │ │ │ ├── dialog │ │ │ │ │ └── da146xx │ │ │ │ │ │ └── dcd_da146xx.c │ │ │ │ ├── espressif │ │ │ │ │ └── esp32s2 │ │ │ │ │ │ └── dcd_esp32s2.c │ │ │ │ ├── microchip │ │ │ │ │ ├── samd │ │ │ │ │ │ └── dcd_samd.c │ │ │ │ │ └── samg │ │ │ │ │ │ └── dcd_samg.c │ │ │ │ ├── nordic │ │ │ │ │ └── nrf5x │ │ │ │ │ │ └── dcd_nrf5x.c │ │ │ │ ├── nuvoton │ │ │ │ │ ├── nuc120 │ │ │ │ │ │ └── dcd_nuc120.c │ │ │ │ │ ├── nuc121 │ │ │ │ │ │ └── dcd_nuc121.c │ │ │ │ │ └── nuc505 │ │ │ │ │ │ └── dcd_nuc505.c │ │ │ │ ├── nxp │ │ │ │ │ ├── khci │ │ │ │ │ │ └── dcd_khci.c │ │ │ │ │ ├── lpc17_40 │ │ │ │ │ │ ├── dcd_lpc17_40.c │ │ │ │ │ │ ├── dcd_lpc17_40.h │ │ │ │ │ │ └── hcd_lpc17_40.c │ │ │ │ │ ├── lpc18_43 │ │ │ │ │ │ └── hcd_lpc18_43.c │ │ │ │ │ ├── lpc_ip3511 │ │ │ │ │ │ └── dcd_lpc_ip3511.c │ │ │ │ │ └── transdimension │ │ │ │ │ │ └── dcd_transdimension.c │ │ │ │ ├── sony │ │ │ │ │ └── cxd56 │ │ │ │ │ │ └── dcd_cxd56.c │ │ │ │ ├── st │ │ │ │ │ ├── stm32_fsdev │ │ │ │ │ │ ├── dcd_stm32_fsdev.c │ │ │ │ │ │ └── dcd_stm32_fsdev_pvt_st.h │ │ │ │ │ └── synopsys │ │ │ │ │ │ └── dcd_synopsys.c │ │ │ │ ├── template │ │ │ │ │ └── dcd_template.c │ │ │ │ ├── ti │ │ │ │ │ └── msp430x5xx │ │ │ │ │ │ └── dcd_msp430x5xx.c │ │ │ │ └── valentyusb │ │ │ │ │ └── eptri │ │ │ │ │ ├── dcd_eptri.c │ │ │ │ │ └── dcd_eptri.h │ │ │ ├── tusb.c │ │ │ ├── tusb.h │ │ │ └── tusb_option.h │ │ │ ├── test │ │ │ ├── ceedling │ │ │ ├── project.yml │ │ │ ├── test │ │ │ │ ├── device │ │ │ │ │ ├── msc │ │ │ │ │ │ └── test_msc_device.c │ │ │ │ │ └── usbd │ │ │ │ │ │ └── test_usbd.c │ │ │ │ ├── support │ │ │ │ │ └── tusb_config.h │ │ │ │ └── test_fifo.c │ │ │ └── vendor │ │ │ │ └── ceedling │ │ │ │ ├── bin │ │ │ │ └── ceedling │ │ │ │ ├── docs │ │ │ │ ├── CException.md │ │ │ │ ├── CMock_Summary.md │ │ │ │ ├── CeedlingPacket.md │ │ │ │ ├── ThrowTheSwitchCodingStandard.md │ │ │ │ ├── UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf │ │ │ │ ├── UnityAssertionsReference.md │ │ │ │ ├── UnityConfigurationGuide.md │ │ │ │ ├── UnityGettingStartedGuide.md │ │ │ │ └── UnityHelperScriptsGuide.md │ │ │ │ ├── lib │ │ │ │ ├── ceedling.rb │ │ │ │ └── ceedling │ │ │ │ │ ├── build_invoker_utils.rb │ │ │ │ │ ├── cacheinator.rb │ │ │ │ │ ├── cacheinator_helper.rb │ │ │ │ │ ├── cmock_builder.rb │ │ │ │ │ ├── configurator.rb │ │ │ │ │ ├── configurator_builder.rb │ │ │ │ │ ├── configurator_plugins.rb │ │ │ │ │ ├── configurator_setup.rb │ │ │ │ │ ├── configurator_validator.rb │ │ │ │ │ ├── constants.rb │ │ │ │ │ ├── defaults.rb │ │ │ │ │ ├── dependinator.rb │ │ │ │ │ ├── erb_wrapper.rb │ │ │ │ │ ├── file_finder.rb │ │ │ │ │ ├── file_finder_helper.rb │ │ │ │ │ ├── file_path_utils.rb │ │ │ │ │ ├── file_system_utils.rb │ │ │ │ │ ├── file_system_wrapper.rb │ │ │ │ │ ├── file_wrapper.rb │ │ │ │ │ ├── flaginator.rb │ │ │ │ │ ├── generator.rb │ │ │ │ │ ├── generator_helper.rb │ │ │ │ │ ├── generator_test_results.rb │ │ │ │ │ ├── generator_test_results_sanity_checker.rb │ │ │ │ │ ├── generator_test_runner.rb │ │ │ │ │ ├── loginator.rb │ │ │ │ │ ├── makefile.rb │ │ │ │ │ ├── objects.yml │ │ │ │ │ ├── par_map.rb │ │ │ │ │ ├── plugin.rb │ │ │ │ │ ├── plugin_builder.rb │ │ │ │ │ ├── plugin_manager.rb │ │ │ │ │ ├── plugin_manager_helper.rb │ │ │ │ │ ├── plugin_reportinator.rb │ │ │ │ │ ├── plugin_reportinator_helper.rb │ │ │ │ │ ├── preprocessinator.rb │ │ │ │ │ ├── preprocessinator_extractor.rb │ │ │ │ │ ├── preprocessinator_file_handler.rb │ │ │ │ │ ├── preprocessinator_helper.rb │ │ │ │ │ ├── preprocessinator_includes_handler.rb │ │ │ │ │ ├── project_config_manager.rb │ │ │ │ │ ├── project_file_loader.rb │ │ │ │ │ ├── rake_utils.rb │ │ │ │ │ ├── rake_wrapper.rb │ │ │ │ │ ├── rakefile.rb │ │ │ │ │ ├── release_invoker.rb │ │ │ │ │ ├── release_invoker_helper.rb │ │ │ │ │ ├── reportinator.rb │ │ │ │ │ ├── rules_cmock.rake │ │ │ │ │ ├── rules_preprocess.rake │ │ │ │ │ ├── rules_release.rake │ │ │ │ │ ├── rules_release_deep_dependencies.rake │ │ │ │ │ ├── rules_tests.rake │ │ │ │ │ ├── rules_tests_deep_dependencies.rake │ │ │ │ │ ├── setupinator.rb │ │ │ │ │ ├── stream_wrapper.rb │ │ │ │ │ ├── streaminator.rb │ │ │ │ │ ├── streaminator_helper.rb │ │ │ │ │ ├── system_utils.rb │ │ │ │ │ ├── system_wrapper.rb │ │ │ │ │ ├── target_loader.rb │ │ │ │ │ ├── task_invoker.rb │ │ │ │ │ ├── tasks_base.rake │ │ │ │ │ ├── tasks_filesystem.rake │ │ │ │ │ ├── tasks_release.rake │ │ │ │ │ ├── tasks_release_deep_dependencies.rake │ │ │ │ │ ├── tasks_tests.rake │ │ │ │ │ ├── tasks_tests_deep_dependencies.rake │ │ │ │ │ ├── tasks_vendor.rake │ │ │ │ │ ├── test_includes_extractor.rb │ │ │ │ │ ├── test_invoker.rb │ │ │ │ │ ├── test_invoker_helper.rb │ │ │ │ │ ├── tool_executor.rb │ │ │ │ │ ├── tool_executor_helper.rb │ │ │ │ │ ├── verbosinator.rb │ │ │ │ │ ├── version.rb │ │ │ │ │ ├── version.rb.erb │ │ │ │ │ └── yaml_wrapper.rb │ │ │ │ ├── plugins │ │ │ │ ├── beep │ │ │ │ │ ├── README.md │ │ │ │ │ └── lib │ │ │ │ │ │ └── beep.rb │ │ │ │ ├── bullseye │ │ │ │ │ ├── assets │ │ │ │ │ │ └── template.erb │ │ │ │ │ ├── bullseye.rake │ │ │ │ │ ├── config │ │ │ │ │ │ └── defaults.yml │ │ │ │ │ ├── lib │ │ │ │ │ │ └── bullseye.rb │ │ │ │ │ └── readme.txt │ │ │ │ ├── colour_report │ │ │ │ │ └── lib │ │ │ │ │ │ └── colour_report.rb │ │ │ │ ├── command_hooks │ │ │ │ │ ├── README.md │ │ │ │ │ └── lib │ │ │ │ │ │ └── command_hooks.rb │ │ │ │ ├── fake_function_framework │ │ │ │ │ ├── README.md │ │ │ │ │ ├── Rakefile │ │ │ │ │ ├── examples │ │ │ │ │ │ └── fff_example │ │ │ │ │ │ │ ├── project.yml │ │ │ │ │ │ │ ├── rakefile.rb │ │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ ├── bar.c │ │ │ │ │ │ │ ├── bar.h │ │ │ │ │ │ │ ├── custom_types.h │ │ │ │ │ │ │ ├── display.c │ │ │ │ │ │ │ ├── display.h │ │ │ │ │ │ │ ├── event_processor.c │ │ │ │ │ │ │ ├── event_processor.h │ │ │ │ │ │ │ ├── foo.c │ │ │ │ │ │ │ ├── foo.h │ │ │ │ │ │ │ └── subfolder │ │ │ │ │ │ │ │ ├── zzz.c │ │ │ │ │ │ │ │ └── zzz.h │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── test_event_processor.c │ │ │ │ │ │ │ └── test_foo.c │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── fake_function_framework.rb │ │ │ │ │ │ └── fff_mock_generator.rb │ │ │ │ │ ├── spec │ │ │ │ │ │ ├── fff_mock_header_generator_spec.rb │ │ │ │ │ │ ├── fff_mock_source_generator_spec.rb │ │ │ │ │ │ ├── header_generator.rb │ │ │ │ │ │ └── spec_helper.rb │ │ │ │ │ └── src │ │ │ │ │ │ └── fff_unity_helper.h │ │ │ │ ├── gcov │ │ │ │ │ ├── README.md │ │ │ │ │ ├── assets │ │ │ │ │ │ └── template.erb │ │ │ │ │ ├── config │ │ │ │ │ │ └── defaults.yml │ │ │ │ │ ├── gcov.rake │ │ │ │ │ └── lib │ │ │ │ │ │ ├── gcov.rb │ │ │ │ │ │ └── gcov_constants.rb │ │ │ │ ├── junit_tests_report │ │ │ │ │ ├── README.md │ │ │ │ │ └── lib │ │ │ │ │ │ └── junit_tests_report.rb │ │ │ │ ├── module_generator │ │ │ │ │ ├── config │ │ │ │ │ │ └── module_generator.yml │ │ │ │ │ ├── lib │ │ │ │ │ │ └── module_generator.rb │ │ │ │ │ └── module_generator.rake │ │ │ │ ├── raw_output_report │ │ │ │ │ └── lib │ │ │ │ │ │ └── raw_output_report.rb │ │ │ │ ├── stdout_gtestlike_tests_report │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── template.erb │ │ │ │ │ │ └── template.erb copy │ │ │ │ │ ├── config │ │ │ │ │ │ └── stdout_gtestlike_tests_report.yml │ │ │ │ │ └── lib │ │ │ │ │ │ └── stdout_gtestlike_tests_report.rb │ │ │ │ ├── stdout_ide_tests_report │ │ │ │ │ ├── config │ │ │ │ │ │ └── stdout_ide_tests_report.yml │ │ │ │ │ └── lib │ │ │ │ │ │ └── stdout_ide_tests_report.rb │ │ │ │ ├── stdout_pretty_tests_report │ │ │ │ │ ├── assets │ │ │ │ │ │ └── template.erb │ │ │ │ │ ├── config │ │ │ │ │ │ └── stdout_pretty_tests_report.yml │ │ │ │ │ └── lib │ │ │ │ │ │ └── stdout_pretty_tests_report.rb │ │ │ │ ├── subprojects │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config │ │ │ │ │ │ └── defaults.yml │ │ │ │ │ ├── lib │ │ │ │ │ │ └── subprojects.rb │ │ │ │ │ └── subprojects.rake │ │ │ │ ├── teamcity_tests_report │ │ │ │ │ ├── config │ │ │ │ │ │ └── teamcity_tests_report.yml │ │ │ │ │ └── lib │ │ │ │ │ │ └── teamcity_tests_report.rb │ │ │ │ ├── warnings_report │ │ │ │ │ └── lib │ │ │ │ │ │ └── warnings_report.rb │ │ │ │ └── xml_tests_report │ │ │ │ │ ├── README.md │ │ │ │ │ └── lib │ │ │ │ │ └── xml_tests_report.rb │ │ │ │ └── vendor │ │ │ │ ├── c_exception │ │ │ │ ├── lib │ │ │ │ │ ├── CException.c │ │ │ │ │ └── CException.h │ │ │ │ └── release │ │ │ │ │ ├── build.info │ │ │ │ │ └── version.info │ │ │ │ ├── cmock │ │ │ │ ├── config │ │ │ │ │ ├── production_environment.rb │ │ │ │ │ └── test_environment.rb │ │ │ │ ├── lib │ │ │ │ │ ├── cmock.rb │ │ │ │ │ ├── cmock_config.rb │ │ │ │ │ ├── cmock_file_writer.rb │ │ │ │ │ ├── cmock_generator.rb │ │ │ │ │ ├── cmock_generator_plugin_array.rb │ │ │ │ │ ├── cmock_generator_plugin_callback.rb │ │ │ │ │ ├── cmock_generator_plugin_cexception.rb │ │ │ │ │ ├── cmock_generator_plugin_expect.rb │ │ │ │ │ ├── cmock_generator_plugin_expect_any_args.rb │ │ │ │ │ ├── cmock_generator_plugin_ignore.rb │ │ │ │ │ ├── cmock_generator_plugin_ignore_arg.rb │ │ │ │ │ ├── cmock_generator_plugin_return_thru_ptr.rb │ │ │ │ │ ├── cmock_generator_utils.rb │ │ │ │ │ ├── cmock_header_parser.rb │ │ │ │ │ ├── cmock_plugin_manager.rb │ │ │ │ │ └── cmock_unityhelper_parser.rb │ │ │ │ ├── release │ │ │ │ │ ├── build.info │ │ │ │ │ └── version.info │ │ │ │ └── src │ │ │ │ │ ├── cmock.c │ │ │ │ │ ├── cmock.h │ │ │ │ │ ├── cmock_internals.h │ │ │ │ │ └── meson.build │ │ │ │ ├── deep_merge │ │ │ │ └── lib │ │ │ │ │ └── deep_merge.rb │ │ │ │ ├── diy │ │ │ │ └── lib │ │ │ │ │ ├── diy.rb │ │ │ │ │ └── diy │ │ │ │ │ └── factory.rb │ │ │ │ └── unity │ │ │ │ ├── auto │ │ │ │ ├── colour_prompt.rb │ │ │ │ ├── colour_reporter.rb │ │ │ │ ├── generate_config.yml │ │ │ │ ├── generate_module.rb │ │ │ │ ├── generate_test_runner.rb │ │ │ │ ├── parse_output.rb │ │ │ │ ├── run_test.erb │ │ │ │ ├── stylize_as_junit.rb │ │ │ │ ├── test_file_filter.rb │ │ │ │ ├── type_sanitizer.rb │ │ │ │ ├── unity_test_summary.py │ │ │ │ ├── unity_test_summary.rb │ │ │ │ └── unity_to_junit.py │ │ │ │ ├── release │ │ │ │ ├── build.info │ │ │ │ └── version.info │ │ │ │ └── src │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── meson.build │ │ │ │ ├── unity.c │ │ │ │ ├── unity.h │ │ │ │ └── unity_internals.h │ │ │ ├── tinyusb.Doxyfile │ │ │ ├── tools │ │ │ ├── build_all.py │ │ │ ├── build_esp32s.py │ │ │ ├── top.mk │ │ │ └── usb_drivers │ │ │ │ ├── 99-tinyusb.rules │ │ │ │ └── tinyusb_win_usbser.inf │ │ │ └── version.yml │ └── esp32s2_usbdisp_firmware │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── main │ │ ├── CMakeLists.txt │ │ ├── Kconfig.projbuild │ │ ├── component.mk │ │ ├── decode_jpeg.c │ │ ├── decode_jpeg.h │ │ ├── ili9340.c │ │ ├── ili9340.h │ │ ├── log.h │ │ ├── logo.c │ │ ├── main.c │ │ ├── tjpgd.c │ │ ├── tjpgd.h │ │ └── tjpgdcnf.h │ │ ├── partitions.csv │ │ └── sdkconfig.defaults └── esp-idf5.3_udisp_s3_st7789_example │ ├── CMakeLists.txt │ ├── README.md │ ├── components │ ├── espressif__esp_new_jpeg │ │ ├── .component_hash │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── README.md │ │ ├── idf_component.yml │ │ ├── include │ │ │ ├── esp_jpeg_common.h │ │ │ ├── esp_jpeg_dec.h │ │ │ ├── esp_jpeg_enc.h │ │ │ └── esp_jpeg_version.h │ │ ├── lib │ │ │ ├── esp32p4 │ │ │ │ └── libesp_new_jpeg.a │ │ │ ├── esp32s2 │ │ │ │ └── libesp_new_jpeg.a │ │ │ └── esp32s3 │ │ │ │ └── libesp_new_jpeg.a │ │ └── test_app │ │ │ ├── CMakeLists.txt │ │ │ ├── dependencies.lock │ │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── idf_component.yml │ │ │ ├── image_io.c │ │ │ ├── image_io.h │ │ │ ├── test_app_main.c │ │ │ ├── test_case.c │ │ │ ├── test_decoder.c │ │ │ ├── test_decoder.h │ │ │ ├── test_encoder.c │ │ │ └── test_encoder.h │ │ │ ├── pytest_esp_new_jpeg.py │ │ │ ├── sdkconfig │ │ │ ├── sdkconfig.defaults │ │ │ ├── sdkconfig.defaults.esp32s3 │ │ │ └── sdkconfig.old │ └── leeebo__tinyusb_src │ │ ├── .component_hash │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── CODE_OF_CONDUCT.rst │ │ ├── CONTRIBUTORS.rst │ │ ├── Kconfig │ │ ├── LICENSE │ │ ├── README.md │ │ ├── idf_component.yml │ │ └── src │ │ ├── CMakeLists.txt │ │ ├── class │ │ ├── audio │ │ │ ├── audio.h │ │ │ ├── audio_device.c │ │ │ └── audio_device.h │ │ ├── bth │ │ │ ├── bth_device.c │ │ │ └── bth_device.h │ │ ├── cdc │ │ │ ├── cdc.h │ │ │ ├── cdc_device.c │ │ │ ├── cdc_device.h │ │ │ ├── cdc_host.c │ │ │ ├── cdc_host.h │ │ │ ├── cdc_rndis.h │ │ │ ├── cdc_rndis_host.c │ │ │ ├── cdc_rndis_host.h │ │ │ └── serial │ │ │ │ ├── ch34x.h │ │ │ │ ├── cp210x.h │ │ │ │ └── ftdi_sio.h │ │ ├── dfu │ │ │ ├── dfu.h │ │ │ ├── dfu_device.c │ │ │ ├── dfu_device.h │ │ │ ├── dfu_rt_device.c │ │ │ └── dfu_rt_device.h │ │ ├── hid │ │ │ ├── hid.h │ │ │ ├── hid_device.c │ │ │ ├── hid_device.h │ │ │ ├── hid_host.c │ │ │ └── hid_host.h │ │ ├── midi │ │ │ ├── midi.h │ │ │ ├── midi_device.c │ │ │ └── midi_device.h │ │ ├── msc │ │ │ ├── msc.h │ │ │ ├── msc_device.c │ │ │ ├── msc_device.h │ │ │ ├── msc_host.c │ │ │ └── msc_host.h │ │ ├── net │ │ │ ├── ecm_rndis_device.c │ │ │ ├── ncm.h │ │ │ ├── ncm_device.c │ │ │ └── net_device.h │ │ ├── usbtmc │ │ │ ├── usbtmc.h │ │ │ ├── usbtmc_device.c │ │ │ └── usbtmc_device.h │ │ ├── vendor │ │ │ ├── vendor_device.c │ │ │ ├── vendor_device.h │ │ │ ├── vendor_host.c │ │ │ └── vendor_host.h │ │ └── video │ │ │ ├── video.h │ │ │ ├── video_device.c │ │ │ └── video_device.h │ │ ├── common │ │ ├── tusb_common.h │ │ ├── tusb_compiler.h │ │ ├── tusb_debug.h │ │ ├── tusb_fifo.c │ │ ├── tusb_fifo.h │ │ ├── tusb_mcu.h │ │ ├── tusb_private.h │ │ ├── tusb_types.h │ │ └── tusb_verify.h │ │ ├── device │ │ ├── dcd.h │ │ ├── usbd.c │ │ ├── usbd.h │ │ ├── usbd_control.c │ │ └── usbd_pvt.h │ │ ├── host │ │ ├── hcd.h │ │ ├── hub.c │ │ ├── hub.h │ │ ├── usbh.c │ │ ├── usbh.h │ │ └── usbh_pvt.h │ │ ├── osal │ │ ├── osal.h │ │ ├── osal_freertos.h │ │ ├── osal_mynewt.h │ │ ├── osal_none.h │ │ ├── osal_pico.h │ │ ├── osal_rtthread.h │ │ └── osal_rtx4.h │ │ ├── portable │ │ ├── analog │ │ │ └── max3421 │ │ │ │ └── hcd_max3421.c │ │ ├── bridgetek │ │ │ └── ft9xx │ │ │ │ └── dcd_ft9xx.c │ │ ├── chipidea │ │ │ ├── ci_fs │ │ │ │ ├── ci_fs_kinetis.h │ │ │ │ ├── ci_fs_mcx.h │ │ │ │ ├── ci_fs_type.h │ │ │ │ └── dcd_ci_fs.c │ │ │ └── ci_hs │ │ │ │ ├── ci_hs_imxrt.h │ │ │ │ ├── ci_hs_lpc18_43.h │ │ │ │ ├── ci_hs_mcx.h │ │ │ │ ├── ci_hs_type.h │ │ │ │ ├── dcd_ci_hs.c │ │ │ │ └── hcd_ci_hs.c │ │ ├── dialog │ │ │ └── da146xx │ │ │ │ └── dcd_da146xx.c │ │ ├── ehci │ │ │ ├── ehci.c │ │ │ ├── ehci.h │ │ │ └── ehci_api.h │ │ ├── espressif │ │ │ └── esp32sx │ │ │ │ └── dcd_esp32sx.c │ │ ├── mentor │ │ │ └── musb │ │ │ │ ├── dcd_musb.c │ │ │ │ ├── hcd_musb.c │ │ │ │ ├── musb_msp432e.h │ │ │ │ ├── musb_tm4c.h │ │ │ │ └── musb_type.h │ │ ├── microchip │ │ │ ├── pic │ │ │ │ └── dcd_pic.c │ │ │ ├── pic32mz │ │ │ │ ├── dcd_pic32mz.c │ │ │ │ └── usbhs_registers.h │ │ │ ├── samd │ │ │ │ └── dcd_samd.c │ │ │ ├── samg │ │ │ │ └── dcd_samg.c │ │ │ └── samx7x │ │ │ │ ├── common_usb_regs.h │ │ │ │ └── dcd_samx7x.c │ │ ├── mindmotion │ │ │ └── mm32 │ │ │ │ └── dcd_mm32f327x_otg.c │ │ ├── nordic │ │ │ └── nrf5x │ │ │ │ └── dcd_nrf5x.c │ │ ├── nuvoton │ │ │ ├── nuc120 │ │ │ │ └── dcd_nuc120.c │ │ │ ├── nuc121 │ │ │ │ └── dcd_nuc121.c │ │ │ └── nuc505 │ │ │ │ └── dcd_nuc505.c │ │ ├── nxp │ │ │ ├── khci │ │ │ │ ├── dcd_khci.c │ │ │ │ └── hcd_khci.c │ │ │ ├── lpc17_40 │ │ │ │ ├── dcd_lpc17_40.c │ │ │ │ ├── dcd_lpc17_40.h │ │ │ │ └── hcd_lpc17_40.c │ │ │ └── lpc_ip3511 │ │ │ │ └── dcd_lpc_ip3511.c │ │ ├── ohci │ │ │ ├── ohci.c │ │ │ └── ohci.h │ │ ├── raspberrypi │ │ │ ├── pio_usb │ │ │ │ ├── dcd_pio_usb.c │ │ │ │ └── hcd_pio_usb.c │ │ │ └── rp2040 │ │ │ │ ├── dcd_rp2040.c │ │ │ │ ├── hcd_rp2040.c │ │ │ │ ├── rp2040_usb.c │ │ │ │ └── rp2040_usb.h │ │ ├── renesas │ │ │ └── rusb2 │ │ │ │ ├── dcd_rusb2.c │ │ │ │ ├── hcd_rusb2.c │ │ │ │ ├── rusb2_common.c │ │ │ │ ├── rusb2_ra.h │ │ │ │ ├── rusb2_rx.h │ │ │ │ └── rusb2_type.h │ │ ├── sony │ │ │ └── cxd56 │ │ │ │ └── dcd_cxd56.c │ │ ├── st │ │ │ ├── stm32_fsdev │ │ │ │ ├── dcd_stm32_fsdev.c │ │ │ │ └── dcd_stm32_fsdev_pvt_st.h │ │ │ └── typec │ │ │ │ └── typec_stm32.c │ │ ├── sunxi │ │ │ ├── dcd_sunxi_musb.c │ │ │ └── musb_def.h │ │ ├── synopsys │ │ │ └── dwc2 │ │ │ │ ├── dcd_dwc2.c │ │ │ │ ├── dwc2_bcm.h │ │ │ │ ├── dwc2_efm32.h │ │ │ │ ├── dwc2_esp32.h │ │ │ │ ├── dwc2_gd32.h │ │ │ │ ├── dwc2_info.md │ │ │ │ ├── dwc2_info.py │ │ │ │ ├── dwc2_stm32.h │ │ │ │ ├── dwc2_type.h │ │ │ │ └── dwc2_xmc.h │ │ ├── template │ │ │ ├── dcd_template.c │ │ │ └── hcd_template.c │ │ ├── ti │ │ │ └── msp430x5xx │ │ │ │ └── dcd_msp430x5xx.c │ │ ├── valentyusb │ │ │ └── eptri │ │ │ │ ├── dcd_eptri.c │ │ │ │ └── dcd_eptri.h │ │ └── wch │ │ │ ├── ch32_usbhs_reg.h │ │ │ └── dcd_ch32_usbhs.c │ │ ├── tinyusb.mk │ │ ├── tusb.c │ │ ├── tusb.h │ │ ├── tusb_option.h │ │ └── typec │ │ ├── pd_types.h │ │ ├── tcd.h │ │ ├── usbc.c │ │ └── usbc.h │ ├── dependencies.lock │ ├── main │ ├── .CMakeLists.txt.swp │ ├── CMakeLists.txt │ ├── Kconfig.projbuild │ ├── app_hid.c │ ├── app_lcd_s3.c │ ├── app_touch.c │ ├── app_usb.c │ ├── app_vendor.c │ ├── build │ │ ├── CMakeFiles │ │ │ ├── 3.16.3 │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ ├── CompilerIdC │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ └── a.out │ │ │ │ └── CompilerIdCXX │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ └── a.out │ │ │ ├── CMakeOutput.log │ │ │ └── cmake.check_cache │ │ └── log │ │ │ ├── idf_py_stderr_output_2054 │ │ │ ├── idf_py_stderr_output_2119 │ │ │ ├── idf_py_stderr_output_2186 │ │ │ ├── idf_py_stdout_output_2054 │ │ │ ├── idf_py_stdout_output_2119 │ │ │ └── idf_py_stdout_output_2186 │ ├── decode_jpeg.c │ ├── decode_jpeg.h │ ├── idf_component.yml │ ├── include │ │ ├── app_lcd.h │ │ ├── app_usb.h │ │ ├── bsp.h │ │ ├── display.h │ │ └── usb_frame.h │ ├── log.h │ ├── sx2.h │ ├── tjpgd.c │ ├── tjpgd.h │ ├── tjpgdcnf.h │ ├── usb_device │ │ ├── tusb_config.h │ │ ├── usb_descriptors.c │ │ └── usb_descriptors.h │ ├── usb_extend_screen.c │ └── usb_frame.c │ ├── sdkconfig │ ├── sdkconfig.defaults │ ├── sdkconfig.defaults.esp32s2 │ ├── sdkconfig.defaults.esp32s3 │ └── sdkconfig.old ├── linux_xfz1986_usb_graphic_driver ├── LICENSE ├── Makefile ├── src │ ├── enc_base.c │ ├── enc_jpg.c │ ├── enc_raw_rgb.c │ ├── fbhandlers.c │ ├── inc │ │ ├── base_type.h │ │ ├── enc_base.h │ │ ├── enc_jpg.h │ │ ├── enc_raw_rgb.h │ │ ├── fbhandlers.h │ │ ├── log.h │ │ ├── tiny_jpeg.h │ │ ├── udisp_config.h │ │ └── usb_transfer.h │ ├── main.c │ ├── test_pattern.c │ ├── tiny_jpeg.c │ └── usb_transfer.c └── xserver_conf │ ├── 10-xfz1986udisp-ubuntu.conf │ └── README ├── win10_idd_xfz1986_usb_graphic_driver ├── .vs │ └── idd_xfz1986_usb_graphic │ │ └── v14 │ │ └── .suo ├── exe │ ├── ioctl.h │ ├── testapp.c │ ├── testapp.rc │ ├── tiny_jpeg.c │ ├── tiny_jpeg.h │ ├── udisptool.sln │ ├── udisptool.vcxproj │ ├── udisptool.vcxproj.Filters │ └── udisptool.vcxproj.user ├── idd_xfz1986_usb_graphic.sln └── idd_xfz1986_usb_graphic │ ├── Driver.cpp │ ├── Driver.h │ ├── Resource.aps │ ├── Resource.rc │ ├── Trace.h │ ├── base_type.h │ ├── enc_base.cpp │ ├── enc_base.h │ ├── enc_jpg.cpp │ ├── enc_jpg.h │ ├── enc_raw_rgb.cpp │ ├── enc_raw_rgb.h │ ├── idd_xfz1986_usb_graphic.vcxproj │ ├── idd_xfz1986_usb_graphic.vcxproj.filters │ ├── idd_xfz1986_usb_graphic.vcxproj.user │ ├── include │ ├── jconfig.h │ ├── jerror.h │ ├── jmorecfg.h │ ├── jpeglib.h │ └── turbojpeg.h │ ├── ioctl.h │ ├── lib │ └── jpeg-static.lib │ ├── log.h │ ├── misc_helper.c │ ├── resource.h │ ├── test_pattern.cpp │ ├── tiny_jpeg.c │ ├── tiny_jpeg.h │ ├── usb_transf.cpp │ ├── usb_transf.h │ └── xfz1986_usb_graphic.inf ├── win10_idd_xfz1986_usb_graphic_driver_display_readme.doc └── windows_driver_sign └── xfz1986_usb_graphic_250224_rc_sign.exe /arduino/esp_new_jpeg/examples/DecodeTest/data/img_test_320_240.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/examples/DecodeTest/data/img_test_320_240.jpg -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP_NEW_JPEG 2 | version=0.1.2 3 | author=esp 4 | maintainer=espressif 5 | sentence= 6 | paragraph= 7 | category=Other 8 | architectures=esp32 9 | url= 10 | includes=ESP_NEW_JPEG_Library.h 11 | precompiled=true -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | ) 4 | 5 | # target_link_libraries(${COMPONENT_LIB} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/libs/${CONFIG_IDF_TARGET}/libesp_codec.a") 6 | # target_link_libraries(${COMPONENT_LIB} INTERFACE "-u audio_free -u audio_calloc_inner -u audio_calloc") 7 | 8 | add_prebuilt_library(esp_codec "${CMAKE_CURRENT_SOURCE_DIR}/libs/${CONFIG_IDF_TARGET}/libesp_new_jpeg.a" REQUIRES esp_jpeg) 9 | target_link_libraries(${COMPONENT_LIB} "-Wl,--start-group" esp_new_jpeg"-Wl,--end-group") 10 | -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/ESP_NEW_JPEG_Library.h: -------------------------------------------------------------------------------- 1 | #include "include/esp_jpeg_common.h" 2 | #include "include/esp_jpeg_dec.h" 3 | #include "include/esp_jpeg_enc.h" -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32c2/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32c2/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32c3/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32c3/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32c5/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32c5/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32c6/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32c6/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32p4/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32p4/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32s2/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32s2/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/esp_new_jpeg/src/esp32s3/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/arduino/esp_new_jpeg/src/esp32s3/libesp_new_jpeg.a -------------------------------------------------------------------------------- /arduino/udisp_xfz1986/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map 3 | ####################################### 4 | ####################################### 5 | # Datatypes (KEYWORD1) 6 | ####################################### 7 | 8 | TJpg_Decoder KEYWORD1 9 | 10 | ####################################### 11 | # Methods and Functions (KEYWORD2) 12 | ####################################### 13 | TJpgDec KEYWORD2 14 | TJpg_Decoder KEYWORD2 15 | 16 | drawJpg KEYWORD2 17 | drawSdJpg KEYWORD2 18 | drawFsJpg KEYWORD2 19 | 20 | getJpgSize KEYWORD2 21 | getSdJpgSize KEYWORD2 22 | getFsJpgSize KEYWORD2 23 | 24 | setJpgScale KEYWORD2 25 | setCallback KEYWORD2 26 | 27 | //tft_output KEYWORD2 -------------------------------------------------------------------------------- /arduino/udisp_xfz1986/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TJpg_Decoder", 3 | "version": "1.1.0", 4 | "keywords": "jpeg, jpg, tft, display, RP2040, STM32, ESP8266, ESP32", 5 | "description": "A JPEG decoder library based on Tiny JPEG Decompressor", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/Bodmer/TJpg_Decoder" 10 | }, 11 | "authors": 12 | [ 13 | { 14 | "name": "Bodmer", 15 | "email": "bodmer@anola.net", 16 | "maintainer": true 17 | } 18 | ], 19 | "frameworks": "arduino", 20 | "platforms": "raspberrypi, espressif8266, espressif32, ststm32", 21 | "headers": "TJpg_Decoder.h" 22 | } 23 | -------------------------------------------------------------------------------- /arduino/udisp_xfz1986/library.properties: -------------------------------------------------------------------------------- 1 | name=udisp1986 2 | version=1.0.0 3 | author=xfz1986 4 | maintainer=xfz1986 5 | sentence=A usb display 6 | paragraph=udisp 7 | category= usb 8 | url=https://github.com/ 9 | architectures=* 10 | includes=udisp1986.h 11 | -------------------------------------------------------------------------------- /arduino/udisp_xfz1986_v1.0_readme_for_arduino.txt: -------------------------------------------------------------------------------- 1 | 使用方法: 2 | 1. esp_new_jpeg 是esp的simd加速的解码库< 非官方,自己整的>。 解压放入C:\Users\q\Documents\Arduino\libraries 3 | 2. udisp_xfz1986是usb display by xfz1986的usb 扩展库,解压放入C:\Users\q\Documents\Arduino\libraries 4 | 5 | 测试环境: 6 | 1 arduino2.3.2 + esp by Espressif 3.0.7 < should use esp3.0.7, other version usb maybe broken> 7 | 2.esp32s3 8 | 9 | 例子代码 10 | 1. 请使用udisp1986的中参考例子, C:\Users\q\Documents\Arduino\libraries\udisp_xfz1986\examples\esp32sx_udisp_st7789 11 | giop关系,例子代码中有,使用1,5,6,7,8这几个管脚。 12 | -------------------------------------------------------------------------------- /bin/esp32_s2_bin/bootloader.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/esp32_s2_bin/bootloader.bin -------------------------------------------------------------------------------- /bin/esp32_s2_bin/ili9340.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/esp32_s2_bin/ili9340.bin -------------------------------------------------------------------------------- /bin/esp32_s2_bin/partition-table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/esp32_s2_bin/partition-table.bin -------------------------------------------------------------------------------- /bin/esp32_s2_bin/st7789.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/esp32_s2_bin/st7789.bin -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.cat -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.dll -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver-v2.0/xfz1986_usb_graphic.inf -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.cat -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.dll -------------------------------------------------------------------------------- /bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/bin/xfz1986_usb_graphic_windos10_driver/xfz1986_usb_graphic.inf -------------------------------------------------------------------------------- /demo/all.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/demo/all.jpg -------------------------------------------------------------------------------- /demo/drv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/demo/drv.png -------------------------------------------------------------------------------- /demo/esp32s2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/demo/esp32s2.jpg -------------------------------------------------------------------------------- /demo/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/demo/setting.png -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/additions/include/tinyusb_types.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Espressif Systems (Shanghai) Co. Ltd. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | #define USB_ESPRESSIF_VID 0x303A 22 | #define USB_STRING_DESCRIPTOR_ARRAY_SIZE 7 23 | 24 | typedef enum{ 25 | TINYUSB_USBDEV_0, 26 | } tinyusb_usbdev_t; 27 | 28 | typedef char *tusb_desc_strarray_device_t[USB_STRING_DESCRIPTOR_ARRAY_SIZE]; 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/additions/include/tusb_console.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Espressif Systems (Shanghai) Co. Ltd. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | #include "esp_err.h" 18 | 19 | /** 20 | * @brief Redirect output to the USB serial 21 | * @param cdc_intf - interface number of TinyUSB's CDC 22 | * 23 | * @return esp_err_t - ESP_OK, ESP_FAIL or an error code 24 | */ 25 | esp_err_t esp_tusb_init_console(int cdc_intf); 26 | 27 | /** 28 | * @brief Switch log to the default output 29 | * @param cdc_intf - interface number of TinyUSB's CDC 30 | * 31 | * @return esp_err_t 32 | */ 33 | esp_err_t esp_tusb_deinit_console(int cdc_intf); 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/additions/include/tusb_tasks.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Espressif Systems (Shanghai) PTE LTD 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | #include "esp_err.h" 18 | 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | /** 25 | * @brief This API starts a task with a wrapper function of tud_task and default task parameters. 26 | * 27 | * The wrapper function basically wraps tud_task and some log. Default parameters: stack size and priority as configured, argument = NULL, 28 | * not pinned to any core. 29 | * If you have more requirements for this task, you can create your own task which calls tud_task as the last step. 30 | * 31 | * @return ESP_OK or ESP_FAIL 32 | */ 33 | esp_err_t tusb_run_task(void); 34 | 35 | /** 36 | * @brief Stops a FreeRTOS task 37 | * 38 | * @return ESP_OK or ESP_FAIL 39 | */ 40 | esp_err_t tusb_stop_task(void); 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/additions/include/vfs_tinyusb.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Espressif Systems (Shanghai) Co. Ltd. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | #include "esp_err.h" 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | /** 24 | * @brief Register TinyUSB CDC at VFS with path 25 | * @param cdc_intf - interface number of TinyUSB's CDC 26 | * @param path - path where the CDC will be registered, `/dev/tusb_cdc` will be used if left NULL. 27 | * 28 | * @return esp_err_t ESP_OK or ESP_FAIL 29 | */ 30 | esp_err_t esp_vfs_tusb_cdc_register(int cdc_intf, char const *path); 31 | 32 | /** 33 | * @brief Unregister TinyUSB CDC from VFS 34 | * @param path - path where the CDC will be unregistered if NULL will be used `/dev/tusb_cdc` 35 | * 36 | * @return esp_err_t ESP_OK or ESP_FAIL 37 | */ 38 | esp_err_t esp_vfs_tusb_cdc_unregister(char const *path); 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/additions/include_private/usb_descriptors.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Espressif Systems (Shanghai) PTE LTD 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #pragma once 16 | 17 | #include "tusb.h" 18 | #include "tinyusb_types.h" 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | #define _PID_MAP(itf, n) ((CFG_TUD_##itf) << (n)) 25 | 26 | extern tusb_desc_device_t descriptor_tinyusb; 27 | extern tusb_desc_strarray_device_t descriptor_str_tinyusb; 28 | 29 | extern tusb_desc_device_t descriptor_kconfig; 30 | extern tusb_desc_strarray_device_t descriptor_str_kconfig; 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | *.c text 5 | *.cpp text 6 | *.h text 7 | *.icf text 8 | *.js text 9 | *.json text 10 | *.ld text 11 | *.md text 12 | *.mk text 13 | *.py text 14 | *.rst text 15 | *.s text 16 | *.txt text 17 | *.xml text 18 | *.yml text 19 | 20 | Makefile text 21 | 22 | # Windows-only Visual Studio things 23 | 24 | *.sln text eol=crlf 25 | *.csproj text eol=crlf 26 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: Bug 🐞 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Set up** 11 | [Mandatory] Provide details of your setup help us to reproduce the issue as quick as possible 12 | - **PC OS** : Ubuntu 18.04 / Windows 10/ macOS 10.15 13 | - **Board** : Feather nRF52840 Express 14 | - **Firmware**: examples/device/cdc_msc 15 | 16 | **Describe the bug** 17 | A clear and concise description of what the bug is. 18 | 19 | **To reproduce** 20 | Steps to reproduce the behavior: 21 | 1. Go to '...' 22 | 2. Click on '....' 23 | 3. See error 24 | 25 | **Screenshots** 26 | If applicable, add screenshots, bus capture to help explain your problem. 27 | 28 | **Log** 29 | Please provide the stack's log (uart/rtt/swo) where the issue occurred, best with comments to explain the actual events. To enable logging, add `LOG=2` to to the make command if building with stock examples or set `CFG_TUSB_DEBUG=2` in your tusb_config.h. More information can be found at [example's readme](/docs/getting_started.md) 30 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: Feature 💡 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.github/ISSUE_TEMPLATE/porting.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Porting 3 | about: Adding a new port for this project 4 | title: '' 5 | labels: Porting 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Description** 11 | Describe which API you want to port (DCD/HCD/OSAL/BSP). It is also helpful to go through [porting.md](docs/porting.md) first if you haven't yet. 12 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | **Describe the PR** 2 | A clear and concise description of what this PR solve. 3 | 4 | **Additional context** 5 | If applicable, add any other context about the PR and/or screenshots here. 6 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.github/workflows/trigger.yml: -------------------------------------------------------------------------------- 1 | name: Trigger Repos 2 | 3 | on: 4 | push: 5 | branches: master 6 | 7 | jobs: 8 | trigger: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: mynewt-tinyusb-example 12 | shell: bash 13 | run: | 14 | curl -X POST -H "Authorization: token ${{ secrets.GH_REPO_TOKEN }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" --data '{"event_type": "rebuild"}' https://api.github.com/repos/hathach/mynewt-tinyusb-example/dispatches 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.gitignore: -------------------------------------------------------------------------------- 1 | html 2 | latex 3 | *.d 4 | *.o 5 | *.P 6 | *.map 7 | *.axf 8 | *.bin 9 | *.jlink 10 | *.emSession 11 | *.elf 12 | *.ind 13 | .env 14 | .settings/ 15 | .idea/ 16 | /examples/*/*/build* 17 | test_old/ 18 | tests_obsolete/ 19 | _build 20 | # coverity intermediate files 21 | cov-int 22 | # cppcheck build directories 23 | *-build-dir 24 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/.gitmodules -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018, hathach (tinyusb.org) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/adafruit_clue/nrf52840_s140_v6.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xED000 - 0x26000 9 | 10 | /* SRAM required by S132 depend on 11 | * - Attribute Table Size 12 | * - Vendor UUID count 13 | * - Max ATT MTU 14 | * - Concurrent connection peripheral + central + secure links 15 | * - Event Len, HVN queue, Write CMD queue 16 | */ 17 | RAM (rwx) : ORIGIN = 0x20003400, LENGTH = 0x20040000 - 0x20003400 18 | } 19 | 20 | SECTIONS 21 | { 22 | . = ALIGN(4); 23 | .svc_data : 24 | { 25 | PROVIDE(__start_svc_data = .); 26 | KEEP(*(.svc_data)) 27 | PROVIDE(__stop_svc_data = .); 28 | } > RAM 29 | 30 | .fs_data : 31 | { 32 | PROVIDE(__start_fs_data = .); 33 | KEEP(*(.fs_data)) 34 | PROVIDE(__stop_fs_data = .); 35 | } > RAM 36 | } INSERT AFTER .data; 37 | 38 | INCLUDE "nrf52_common.ld" 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/arduino_nano33_ble/arduino_nano33_ble.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x10000, LENGTH = 0xf0000 9 | RAM_NVIC (rwx) : ORIGIN = 0x20000000, LENGTH = 0x100 10 | RAM_CRASH_DATA (rwx) : ORIGIN = (0x20000000 + 0x100), LENGTH = 0x100 11 | RAM (rwx) : ORIGIN = ((0x20000000 + 0x100) + 0x100), LENGTH = (0x40000 - (0x100 + 0x100)) 12 | } 13 | 14 | SECTIONS 15 | { 16 | . = ALIGN(4); 17 | .svc_data : 18 | { 19 | PROVIDE(__start_svc_data = .); 20 | KEEP(*(.svc_data)) 21 | PROVIDE(__stop_svc_data = .); 22 | } > RAM 23 | 24 | .fs_data : 25 | { 26 | PROVIDE(__start_fs_data = .); 27 | KEEP(*(.fs_data)) 28 | PROVIDE(__stop_fs_data = .); 29 | } > RAM 30 | } INSERT AFTER .data; 31 | 32 | INCLUDE "nrf52_common.ld" 33 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/circuitplayground_bluefruit/nrf52840_s140_v6.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xED000 - 0x26000 9 | 10 | /* SRAM required by S132 depend on 11 | * - Attribute Table Size 12 | * - Vendor UUID count 13 | * - Max ATT MTU 14 | * - Concurrent connection peripheral + central + secure links 15 | * - Event Len, HVN queue, Write CMD queue 16 | */ 17 | RAM (rwx) : ORIGIN = 0x20003400, LENGTH = 0x20040000 - 0x20003400 18 | } 19 | 20 | SECTIONS 21 | { 22 | . = ALIGN(4); 23 | .svc_data : 24 | { 25 | PROVIDE(__start_svc_data = .); 26 | KEEP(*(.svc_data)) 27 | PROVIDE(__stop_svc_data = .); 28 | } > RAM 29 | 30 | .fs_data : 31 | { 32 | PROVIDE(__start_fs_data = .); 33 | KEEP(*(.fs_data)) 34 | PROVIDE(__stop_fs_data = .); 35 | } > RAM 36 | } INSERT AFTER .data; 37 | 38 | INCLUDE "nrf52_common.ld" 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da14695_dk_usb/product_header.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da14695_dk_usb/product_header.dump -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da14695_dk_usb/syscfg/syscfg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file was generated by Apache newt version: 1.9.0-dev 3 | */ 4 | 5 | #ifndef H_MYNEWT_SYSCFG_ 6 | #define H_MYNEWT_SYSCFG_ 7 | 8 | /** 9 | * This macro exists to ensure code includes this header when needed. If code 10 | * checks the existence of a setting directly via ifdef without including this 11 | * header, the setting macro will silently evaluate to 0. In contrast, an 12 | * attempt to use these macros without including this header will result in a 13 | * compiler error. 14 | */ 15 | #define MYNEWT_VAL(_name) MYNEWT_VAL_ ## _name 16 | #define MYNEWT_VAL_CHOICE(_name, _val) MYNEWT_VAL_ ## _name ## __ ## _val 17 | 18 | #ifndef MYNEWT_VAL_RAM_RESIDENT 19 | #define MYNEWT_VAL_RAM_RESIDENT (0) 20 | #endif 21 | 22 | #ifndef MYNEWT_VAL_MCU_GPIO_MAX_IRQ 23 | #define MYNEWT_VAL_MCU_GPIO_MAX_IRQ (4) 24 | #endif 25 | 26 | #ifndef MYNEWT_VAL_MCU_GPIO_RETAINABLE_NUM 27 | #define MYNEWT_VAL_MCU_GPIO_RETAINABLE_NUM (-1) 28 | #endif 29 | 30 | #ifndef MYNEWT_VAL_MCU_CLOCK_XTAL32M_SETTLE_TIME_US 31 | #define MYNEWT_VAL_MCU_CLOCK_XTAL32M_SETTLE_TIME_US (2000) 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da1469x_dk_pro/product_header.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da1469x_dk_pro/product_header.dump -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/da1469x_dk_pro/syscfg/syscfg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * This file was generated by Apache newt version: 1.9.0-dev 3 | */ 4 | 5 | #ifndef H_MYNEWT_SYSCFG_ 6 | #define H_MYNEWT_SYSCFG_ 7 | 8 | /** 9 | * This macro exists to ensure code includes this header when needed. If code 10 | * checks the existence of a setting directly via ifdef without including this 11 | * header, the setting macro will silently evaluate to 0. In contrast, an 12 | * attempt to use these macros without including this header will result in a 13 | * compiler error. 14 | */ 15 | #define MYNEWT_VAL(_name) MYNEWT_VAL_ ## _name 16 | #define MYNEWT_VAL_CHOICE(_name, _val) MYNEWT_VAL_ ## _name ## __ ## _val 17 | 18 | #ifndef MYNEWT_VAL_RAM_RESIDENT 19 | #define MYNEWT_VAL_RAM_RESIDENT (0) 20 | #endif 21 | 22 | #ifndef MYNEWT_VAL_MCU_GPIO_MAX_IRQ 23 | #define MYNEWT_VAL_MCU_GPIO_MAX_IRQ (4) 24 | #endif 25 | 26 | #ifndef MYNEWT_VAL_MCU_GPIO_RETAINABLE_NUM 27 | #define MYNEWT_VAL_MCU_GPIO_RETAINABLE_NUM (-1) 28 | #endif 29 | 30 | #ifndef MYNEWT_VAL_MCU_CLOCK_XTAL32M_SETTLE_TIME_US 31 | #define MYNEWT_VAL_MCU_CLOCK_XTAL32M_SETTLE_TIME_US (2000) 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/ea4088qs/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib \ 9 | -DCORE_M4 \ 10 | -D__USE_LPCOPEN \ 11 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data.$$RAM2")))' \ 12 | -DCFG_TUSB_MCU=OPT_MCU_LPC40XX 13 | 14 | # mcu driver cause following warnings 15 | CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter 16 | 17 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc40xx/lpc_chip_40xx 18 | 19 | # All source paths should be relative to the top level. 20 | LD_FILE = hw/bsp/$(BOARD)/lpc4088.ld 21 | 22 | SRC_C += \ 23 | $(MCU_DIR)/../gcc/cr_startup_lpc40xx.c \ 24 | $(MCU_DIR)/src/chip_17xx_40xx.c \ 25 | $(MCU_DIR)/src/clock_17xx_40xx.c \ 26 | $(MCU_DIR)/src/gpio_17xx_40xx.c \ 27 | $(MCU_DIR)/src/iocon_17xx_40xx.c \ 28 | $(MCU_DIR)/src/sysctl_17xx_40xx.c \ 29 | $(MCU_DIR)/src/sysinit_17xx_40xx.c \ 30 | $(MCU_DIR)/src/uart_17xx_40xx.c \ 31 | $(MCU_DIR)/src/fpu_init.c 32 | 33 | INC += \ 34 | $(TOP)/$(MCU_DIR)/inc 35 | 36 | # For TinyUSB port source 37 | VENDOR = nxp 38 | CHIP_FAMILY = lpc17_40 39 | 40 | # For freeRTOS port source 41 | FREERTOS_PORT = ARM_CM4F 42 | 43 | # For flash-jlink target 44 | JLINK_DEVICE = LPC4088 45 | 46 | # flash using jlink 47 | flash: flash-jlink 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/ea4357/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib \ 9 | -DCORE_M4 \ 10 | -D__USE_LPCOPEN \ 11 | -DCFG_TUSB_MCU=OPT_MCU_LPC43XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter -Wno-error=strict-prototypes 15 | 16 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc43xx/lpc_chip_43xx 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = hw/bsp/$(BOARD)/lpc4357.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/../gcc/cr_startup_lpc43xx.c \ 23 | $(MCU_DIR)/src/chip_18xx_43xx.c \ 24 | $(MCU_DIR)/src/clock_18xx_43xx.c \ 25 | $(MCU_DIR)/src/gpio_18xx_43xx.c \ 26 | $(MCU_DIR)/src/sysinit_18xx_43xx.c \ 27 | $(MCU_DIR)/src/i2c_18xx_43xx.c \ 28 | $(MCU_DIR)/src/i2cm_18xx_43xx.c \ 29 | $(MCU_DIR)/src/uart_18xx_43xx.c \ 30 | $(MCU_DIR)/src/fpu_init.c 31 | 32 | INC += \ 33 | $(TOP)/$(MCU_DIR)/inc \ 34 | $(TOP)/$(MCU_DIR)/inc/config_43xx 35 | 36 | # For TinyUSB port source 37 | VENDOR = nxp 38 | CHIP_FAMILY = transdimension 39 | 40 | # For freeRTOS port source 41 | FREERTOS_PORT = ARM_CM4F 42 | 43 | # For flash-jlink target 44 | JLINK_DEVICE = LPC4357_M4 45 | 46 | # flash using jlink 47 | flash: flash-jlink 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/esp32s2_kaluga_1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "${BOARD}.c" "led_strip/src/led_strip_rmt_ws2812.c" 2 | INCLUDE_DIRS "led_strip/include" 3 | PRIV_REQUIRES "driver" 4 | REQUIRES freertos src) 5 | 6 | target_compile_options(${COMPONENT_TARGET} PUBLIC 7 | "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2" 8 | "-DCFG_TUSB_OS=OPT_OS_FREERTOS" 9 | ) 10 | 11 | idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH) 12 | target_include_directories(${COMPONENT_TARGET} PUBLIC 13 | "${FREERTOS_ORIG_INCLUDE_PATH}" 14 | "${TOP}/hw" 15 | "${TOP}/src" 16 | ) 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/esp32s2_kaluga_1/board.mk: -------------------------------------------------------------------------------- 1 | # Cross Compiler for ESP32 2 | CROSS_COMPILE = xtensa-esp32s2-elf- 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/esp32s2_saola_1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "${BOARD}.c" "led_strip/src/led_strip_rmt_ws2812.c" 2 | INCLUDE_DIRS "led_strip/include" 3 | PRIV_REQUIRES "driver" 4 | REQUIRES freertos src) 5 | 6 | target_compile_options(${COMPONENT_TARGET} PUBLIC 7 | "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2" 8 | "-DCFG_TUSB_OS=OPT_OS_FREERTOS" 9 | ) 10 | 11 | idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH) 12 | target_include_directories(${COMPONENT_TARGET} PUBLIC 13 | "${FREERTOS_ORIG_INCLUDE_PATH}" 14 | "${TOP}/hw" 15 | "${TOP}/src" 16 | ) 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/esp32s2_saola_1/board.mk: -------------------------------------------------------------------------------- 1 | # Cross Compiler for ESP32 2 | CROSS_COMPILE = xtensa-esp32s2-elf- 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/feather_nrf52840_express/nrf52840_s140_v6.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xED000 - 0x26000 9 | 10 | /* SRAM required by S132 depend on 11 | * - Attribute Table Size 12 | * - Vendor UUID count 13 | * - Max ATT MTU 14 | * - Concurrent connection peripheral + central + secure links 15 | * - Event Len, HVN queue, Write CMD queue 16 | */ 17 | RAM (rwx) : ORIGIN = 0x20003400, LENGTH = 0x20040000 - 0x20003400 18 | } 19 | 20 | SECTIONS 21 | { 22 | . = ALIGN(4); 23 | .svc_data : 24 | { 25 | PROVIDE(__start_svc_data = .); 26 | KEEP(*(.svc_data)) 27 | PROVIDE(__stop_svc_data = .); 28 | } > RAM 29 | 30 | .fs_data : 31 | { 32 | PROVIDE(__start_fs_data = .); 33 | KEEP(*(.fs_data)) 34 | PROVIDE(__stop_fs_data = .); 35 | } > RAM 36 | } INSERT AFTER .data; 37 | 38 | INCLUDE "nrf52_common.ld" 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/feather_nrf52840_sense/nrf52840_s140_v6.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xED000 - 0x26000 9 | 10 | /* SRAM required by S132 depend on 11 | * - Attribute Table Size 12 | * - Vendor UUID count 13 | * - Max ATT MTU 14 | * - Concurrent connection peripheral + central + secure links 15 | * - Event Len, HVN queue, Write CMD queue 16 | */ 17 | RAM (rwx) : ORIGIN = 0x20003400, LENGTH = 0x20040000 - 0x20003400 18 | } 19 | 20 | SECTIONS 21 | { 22 | . = ALIGN(4); 23 | .svc_data : 24 | { 25 | PROVIDE(__start_svc_data = .); 26 | KEEP(*(.svc_data)) 27 | PROVIDE(__stop_svc_data = .); 28 | } > RAM 29 | 30 | .fs_data : 31 | { 32 | PROVIDE(__start_fs_data = .); 33 | KEEP(*(.fs_data)) 34 | PROVIDE(__stop_fs_data = .); 35 | } > RAM 36 | } INSERT AFTER .data; 37 | 38 | INCLUDE "nrf52_common.ld" 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/fomu/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -march=rv32i \ 4 | -mabi=ilp32 \ 5 | -nostdlib \ 6 | -DCFG_TUSB_MCU=OPT_MCU_VALENTYUSB_EPTRI 7 | 8 | # Cross Compiler for RISC-V 9 | CROSS_COMPILE = riscv-none-embed- 10 | 11 | MCU_DIR = hw/mcu/fomu 12 | BSP_DIR = hw/bsp/fomu 13 | 14 | # All source paths should be relative to the top level. 15 | LD_FILE = hw/bsp/$(BOARD)/fomu.ld 16 | 17 | SRC_S += hw/bsp/$(BOARD)/crt0-vexriscv.S 18 | 19 | INC += \ 20 | $(TOP)/$(BSP_DIR)/include 21 | 22 | # For TinyUSB port source 23 | VENDOR = valentyusb 24 | CHIP_FAMILY = eptri 25 | 26 | # For freeRTOS port source 27 | FREERTOS_PORT = RISC-V 28 | 29 | # flash using dfu-util 30 | $(BUILD)/$(BOARD)-firmware.dfu: $(BUILD)/$(BOARD)-firmware.bin 31 | @echo "Create $@" 32 | python $(TOP)/hw/bsp/$(BOARD)/dfu.py -b $^ -D 0x1209:0x5bf0 $@ 33 | 34 | flash: $(BUILD)/$(BOARD)-firmware.dfu 35 | dfu-util -D $^ 36 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/fomu/include/hw/common.h: -------------------------------------------------------------------------------- 1 | #ifndef _HW_COMMON_H_ 2 | #define _HW_COMMON_H_ 3 | #include 4 | static inline void csr_writeb(uint8_t value, uint32_t addr) 5 | { 6 | *((volatile uint8_t *)addr) = value; 7 | } 8 | 9 | static inline uint8_t csr_readb(uint32_t addr) 10 | { 11 | return *(volatile uint8_t *)addr; 12 | } 13 | 14 | static inline void csr_writew(uint16_t value, uint32_t addr) 15 | { 16 | *((volatile uint16_t *)addr) = value; 17 | } 18 | 19 | static inline uint16_t csr_readw(uint32_t addr) 20 | { 21 | return *(volatile uint16_t *)addr; 22 | } 23 | 24 | static inline void csr_writel(uint32_t value, uint32_t addr) 25 | { 26 | *((volatile uint32_t *)addr) = value; 27 | } 28 | 29 | static inline uint32_t csr_readl(uint32_t addr) 30 | { 31 | return *(volatile uint32_t *)addr; 32 | } 33 | #endif /* _HW_COMMON_H_ */ -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/fomu/output_format.ld: -------------------------------------------------------------------------------- 1 | OUTPUT_FORMAT("elf32-littleriscv") 2 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/fomu/regions.ld: -------------------------------------------------------------------------------- 1 | MEMORY { 2 | csr : ORIGIN = 0x60000000, LENGTH = 0x01000000 3 | vexriscv_debug : ORIGIN = 0xf00f0000, LENGTH = 0x00000100 4 | sram : ORIGIN = 0x10000000, LENGTH = 0x00020000 5 | rom : ORIGIN = 0x00000000, LENGTH = 0x00002000 6 | } 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/frdm_kl25z/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -mthumb \ 3 | -mabi=aapcs \ 4 | -mcpu=cortex-m0plus \ 5 | -DCPU_MKL25Z128VLK4 \ 6 | -DCFG_TUSB_MCU=OPT_MCU_MKL25ZXX 7 | 8 | # mcu driver cause following warnings 9 | CFLAGS += -Wno-error=unused-parameter 10 | 11 | MCU_DIR = hw/mcu/nxp/sdk/devices/MKL25Z4 12 | 13 | # All source paths should be relative to the top level. 14 | LD_FILE = $(MCU_DIR)/gcc/MKL25Z128xxx4_flash.ld 15 | 16 | SRC_C += \ 17 | $(MCU_DIR)/system_MKL25Z4.c \ 18 | $(MCU_DIR)/project_template/clock_config.c \ 19 | $(MCU_DIR)/drivers/fsl_clock.c \ 20 | $(MCU_DIR)/drivers/fsl_gpio.c \ 21 | $(MCU_DIR)/drivers/fsl_lpsci.c 22 | 23 | INC += \ 24 | $(TOP)/hw/bsp/$(BOARD) \ 25 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 26 | $(TOP)/$(MCU_DIR) \ 27 | $(TOP)/$(MCU_DIR)/drivers \ 28 | $(TOP)/$(MCU_DIR)/project_template \ 29 | 30 | SRC_S += $(MCU_DIR)/gcc/startup_MKL25Z4.S 31 | 32 | # For TinyUSB port source 33 | VENDOR = nxp 34 | CHIP_FAMILY = khci 35 | 36 | # For freeRTOS port source 37 | FREERTOS_PORT = ARM_CM0 38 | 39 | # For flash-jlink target 40 | JLINK_DEVICE = MKL25Z128xxx4 41 | 42 | # For flash-pyocd target 43 | PYOCD_TARGET = mkl25zl128 44 | 45 | # flash using pyocd 46 | flash: flash-pyocd 47 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/itsybitsy_nrf52840/nrf52840_s140_v6.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0xED000 - 0x26000 9 | 10 | /* SRAM required by S132 depend on 11 | * - Attribute Table Size 12 | * - Vendor UUID count 13 | * - Max ATT MTU 14 | * - Concurrent connection peripheral + central + secure links 15 | * - Event Len, HVN queue, Write CMD queue 16 | */ 17 | RAM (rwx) : ORIGIN = 0x20003400, LENGTH = 0x20040000 - 0x20003400 18 | } 19 | 20 | SECTIONS 21 | { 22 | . = ALIGN(4); 23 | .svc_data : 24 | { 25 | PROVIDE(__start_svc_data = .); 26 | KEEP(*(.svc_data)) 27 | PROVIDE(__stop_svc_data = .); 28 | } > RAM 29 | 30 | .fs_data : 31 | { 32 | PROVIDE(__start_fs_data = .); 33 | KEEP(*(.fs_data)) 34 | PROVIDE(__stop_fs_data = .); 35 | } > RAM 36 | } INSERT AFTER .data; 37 | 38 | INCLUDE "nrf52_common.ld" 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso11u37/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m0 \ 6 | -nostdlib \ 7 | -DCORE_M0 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_EXAMPLE_MSC_READONLY \ 10 | -DCFG_TUSB_MCU=OPT_MCU_LPC11UXX \ 11 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data.$$RAM2")))' \ 12 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 13 | 14 | # mcu driver cause following warnings 15 | CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter 16 | 17 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc11uxx/lpc_chip_11uxx 18 | 19 | # All source paths should be relative to the top level. 20 | LD_FILE = hw/bsp/$(BOARD)/lpc11u37.ld 21 | 22 | SRC_C += \ 23 | $(MCU_DIR)/../gcc/cr_startup_lpc11xx.c \ 24 | $(MCU_DIR)/src/chip_11xx.c \ 25 | $(MCU_DIR)/src/clock_11xx.c \ 26 | $(MCU_DIR)/src/gpio_11xx_1.c \ 27 | $(MCU_DIR)/src/iocon_11xx.c \ 28 | $(MCU_DIR)/src/sysctl_11xx.c \ 29 | $(MCU_DIR)/src/sysinit_11xx.c 30 | 31 | INC += \ 32 | $(TOP)/$(MCU_DIR)/inc 33 | 34 | # For TinyUSB port source 35 | VENDOR = nxp 36 | CHIP_FAMILY = lpc_ip3511 37 | 38 | # For freeRTOS port source 39 | FREERTOS_PORT = ARM_CM0 40 | 41 | # For flash-jlink target 42 | JLINK_DEVICE = LPC11U37/401 43 | 44 | # flash using pyocd 45 | flash: $(BUILD)/$(BOARD)-firmware.hex 46 | pyocd flash -t lpc11u37 $< 47 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso11u68/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m0plus \ 6 | -nostdlib \ 7 | -DCORE_M0PLUS \ 8 | -D__VTOR_PRESENT=0 \ 9 | -D__USE_LPCOPEN \ 10 | -DCFG_TUSB_MCU=OPT_MCU_LPC11UXX \ 11 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data.$$RAM3")))' \ 12 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 13 | 14 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc11u6x/lpc_chip_11u6x 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = hw/bsp/$(BOARD)/lpc11u68.ld 18 | 19 | SRC_C += \ 20 | $(MCU_DIR)/../gcc/cr_startup_lpc11u6x.c \ 21 | $(MCU_DIR)/src/chip_11u6x.c \ 22 | $(MCU_DIR)/src/clock_11u6x.c \ 23 | $(MCU_DIR)/src/gpio_11u6x.c \ 24 | $(MCU_DIR)/src/iocon_11u6x.c \ 25 | $(MCU_DIR)/src/syscon_11u6x.c \ 26 | $(MCU_DIR)/src/sysinit_11u6x.c 27 | 28 | INC += \ 29 | $(TOP)/$(MCU_DIR)/inc 30 | 31 | # For TinyUSB port source 32 | VENDOR = nxp 33 | CHIP_FAMILY = lpc_ip3511 34 | 35 | # For freeRTOS port source 36 | FREERTOS_PORT = ARM_CM0 37 | 38 | # For flash-jlink target 39 | JLINK_DEVICE = LPC11U68 40 | 41 | # flash using pyocd 42 | flash: $(BUILD)/$(BOARD)-firmware.hex 43 | pyocd flash -t lpc11u68 $< 44 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso1347/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -nostdlib \ 7 | -DCORE_M3 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_EXAMPLE_MSC_READONLY \ 10 | -DCFG_TUSB_MCU=OPT_MCU_LPC13XX \ 11 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data.$$RAM2")))' \ 12 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 13 | 14 | # startup.c and lpc_types.h cause following errors 15 | CFLAGS += -Wno-error=strict-prototypes 16 | 17 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc13xx/lpc_chip_13xx 18 | 19 | # All source paths should be relative to the top level. 20 | LD_FILE = hw/bsp/$(BOARD)/lpc1347.ld 21 | 22 | SRC_C += \ 23 | $(MCU_DIR)/../gcc/cr_startup_lpc13xx.c \ 24 | $(MCU_DIR)/src/chip_13xx.c \ 25 | $(MCU_DIR)/src/clock_13xx.c \ 26 | $(MCU_DIR)/src/gpio_13xx_1.c \ 27 | $(MCU_DIR)/src/iocon_13xx.c \ 28 | $(MCU_DIR)/src/sysctl_13xx.c \ 29 | $(MCU_DIR)/src/sysinit_13xx.c 30 | 31 | INC += \ 32 | $(TOP)/$(MCU_DIR)/inc 33 | 34 | # For TinyUSB port source 35 | VENDOR = nxp 36 | CHIP_FAMILY = lpc_ip3511 37 | 38 | # For freeRTOS port source 39 | FREERTOS_PORT = ARM_CM3 40 | 41 | # For flash-jlink target 42 | JLINK_DEVICE = LPC1347 43 | 44 | # flash using jlink 45 | flash: flash-jlink 46 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso1549/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -nostdlib \ 7 | -DCORE_M3 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_EXAMPLE_MSC_READONLY \ 10 | -DCFG_TUSB_MCU=OPT_MCU_LPC15XX \ 11 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter -Wno-error=unused-variable 15 | 16 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc15xx/lpc_chip_15xx 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = hw/bsp/$(BOARD)/lpc1549.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/../gcc/cr_startup_lpc15xx.c \ 23 | $(MCU_DIR)/src/chip_15xx.c \ 24 | $(MCU_DIR)/src/clock_15xx.c \ 25 | $(MCU_DIR)/src/gpio_15xx.c \ 26 | $(MCU_DIR)/src/iocon_15xx.c \ 27 | $(MCU_DIR)/src/swm_15xx.c \ 28 | $(MCU_DIR)/src/sysctl_15xx.c \ 29 | $(MCU_DIR)/src/sysinit_15xx.c 30 | 31 | INC += \ 32 | $(TOP)/$(MCU_DIR)/inc 33 | 34 | # For TinyUSB port source 35 | VENDOR = nxp 36 | CHIP_FAMILY = lpc_ip3511 37 | 38 | # For freeRTOS port source 39 | FREERTOS_PORT = ARM_CM3 40 | 41 | # For flash-jlink target 42 | JLINK_DEVICE = LPC1549 43 | 44 | # flash using jlink 45 | flash: flash-jlink 46 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso1769/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -nostdlib \ 7 | -DCORE_M3 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_TUSB_MCU=OPT_MCU_LPC175X_6X \ 10 | -DRTC_EV_SUPPORT=0 11 | 12 | # lpc_types.h cause following errors 13 | CFLAGS += -Wno-error=strict-prototypes 14 | 15 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc175x_6x/lpc_chip_175x_6x 16 | 17 | # All source paths should be relative to the top level. 18 | LD_FILE = hw/bsp/$(BOARD)/lpc1769.ld 19 | 20 | SRC_C += \ 21 | $(MCU_DIR)/../gcc/cr_startup_lpc175x_6x.c \ 22 | $(MCU_DIR)/src/chip_17xx_40xx.c \ 23 | $(MCU_DIR)/src/clock_17xx_40xx.c \ 24 | $(MCU_DIR)/src/gpio_17xx_40xx.c \ 25 | $(MCU_DIR)/src/iocon_17xx_40xx.c \ 26 | $(MCU_DIR)/src/sysctl_17xx_40xx.c \ 27 | $(MCU_DIR)/src/sysinit_17xx_40xx.c \ 28 | $(MCU_DIR)/src/uart_17xx_40xx.c 29 | 30 | INC += \ 31 | $(TOP)/$(MCU_DIR)/inc 32 | 33 | # For TinyUSB port source 34 | VENDOR = nxp 35 | CHIP_FAMILY = lpc17_40 36 | 37 | # For freeRTOS port source 38 | FREERTOS_PORT = ARM_CM3 39 | 40 | # For flash-jlink target 41 | JLINK_DEVICE = LPC1769 42 | 43 | # flash using jlink 44 | flash: flash-jlink 45 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso51u68/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m0plus \ 6 | -DCPU_LPC51U68JBD64 \ 7 | -DCFG_TUSB_MCU=OPT_MCU_LPC51UXX \ 8 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data")))' \ 9 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 10 | 11 | # mcu driver cause following warnings 12 | CFLAGS += -Wno-error=unused-parameter 13 | 14 | MCU_DIR = hw/mcu/nxp/sdk/devices/LPC51U68 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = $(MCU_DIR)/gcc/LPC51U68_flash.ld 18 | 19 | SRC_C += \ 20 | $(MCU_DIR)/system_LPC51U68.c \ 21 | $(MCU_DIR)/drivers/fsl_clock.c \ 22 | $(MCU_DIR)/drivers/fsl_gpio.c \ 23 | $(MCU_DIR)/drivers/fsl_power.c \ 24 | $(MCU_DIR)/drivers/fsl_reset.c 25 | 26 | INC += \ 27 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 28 | $(TOP)/$(MCU_DIR) \ 29 | $(TOP)/$(MCU_DIR)/drivers 30 | 31 | SRC_S += $(MCU_DIR)/gcc/startup_LPC51U68.S 32 | 33 | LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower.a 34 | 35 | # For TinyUSB port source 36 | VENDOR = nxp 37 | CHIP_FAMILY = lpc_ip3511 38 | 39 | # For freeRTOS port source 40 | FREERTOS_PORT = ARM_CM0 41 | 42 | # For flash-jlink target 43 | JLINK_DEVICE = LPC51U68 44 | 45 | # flash using pyocd (51u68 is not supported yet) 46 | flash: $(BUILD)/$(BOARD)-firmware.hex 47 | pyocd flash -t LPC51U68 $< 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso54114/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -DCPU_LPC54114J256BD64_cm4 \ 9 | -DCFG_TUSB_MCU=OPT_MCU_LPC54XXX \ 10 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data")))' \ 11 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/LPC54114 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/LPC54114J256_cm4_flash.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_LPC54114_cm4.c \ 23 | $(MCU_DIR)/drivers/fsl_clock.c \ 24 | $(MCU_DIR)/drivers/fsl_gpio.c \ 25 | $(MCU_DIR)/drivers/fsl_power.c \ 26 | $(MCU_DIR)/drivers/fsl_reset.c 27 | 28 | INC += \ 29 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 30 | $(TOP)/$(MCU_DIR) \ 31 | $(TOP)/$(MCU_DIR)/drivers 32 | 33 | SRC_S += $(MCU_DIR)/gcc/startup_LPC54114_cm4.S 34 | 35 | LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower_cm4_hardabi.a 36 | 37 | # For TinyUSB port source 38 | VENDOR = nxp 39 | CHIP_FAMILY = lpc_ip3511 40 | 41 | # For freeRTOS port source 42 | FREERTOS_PORT = ARM_CM4F 43 | 44 | # For flash-jlink target 45 | JLINK_DEVICE = LPC54114J256_M4 46 | 47 | # flash using pyocd 48 | flash: $(BUILD)/$(BOARD)-firmware.hex 49 | pyocd flash -t LPC54114 $< 50 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/lpcxpresso55s69/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m33 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv5-sp-d16 \ 8 | -DCPU_LPC55S69JBD100_cm33_core0 \ 9 | -DCFG_TUSB_MCU=OPT_MCU_LPC55XX \ 10 | -DCFG_TUSB_MEM_SECTION='__attribute__((section(".data")))' \ 11 | -DCFG_TUSB_MEM_ALIGN='__attribute__((aligned(64)))' 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter -Wno-error=float-equal 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/LPC55S69 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/LPC55S69_cm33_core0_flash.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_LPC55S69_cm33_core0.c \ 23 | $(MCU_DIR)/drivers/fsl_clock.c \ 24 | $(MCU_DIR)/drivers/fsl_gpio.c \ 25 | $(MCU_DIR)/drivers/fsl_power.c \ 26 | $(MCU_DIR)/drivers/fsl_reset.c 27 | 28 | INC += \ 29 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 30 | $(TOP)/$(MCU_DIR) \ 31 | $(TOP)/$(MCU_DIR)/drivers 32 | 33 | SRC_S += $(MCU_DIR)/gcc/startup_LPC55S69_cm33_core0.S 34 | 35 | LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower_hardabi.a 36 | 37 | # For TinyUSB port source 38 | VENDOR = nxp 39 | CHIP_FAMILY = lpc_ip3511 40 | 41 | # For freeRTOS port source 42 | FREERTOS_PORT = ARM_CM33_NTZ/non_secure 43 | 44 | # For flash-jlink target 45 | JLINK_DEVICE = LPC55S69 46 | 47 | # flash using pyocd 48 | flash: $(BUILD)/$(BOARD)-firmware.hex 49 | pyocd flash -t LPC55S69 $< 50 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mbed1768/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -nostdlib \ 7 | -DCORE_M3 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_TUSB_MCU=OPT_MCU_LPC175X_6X \ 10 | -DRTC_EV_SUPPORT=0 11 | 12 | # startup.c and lpc_types.h cause following errors 13 | CFLAGS += -Wno-error=strict-prototypes 14 | 15 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc175x_6x/lpc_chip_175x_6x 16 | 17 | # All source paths should be relative to the top level. 18 | LD_FILE = hw/bsp/$(BOARD)/lpc1768.ld 19 | 20 | SRC_C += \ 21 | $(MCU_DIR)/../gcc/cr_startup_lpc175x_6x.c \ 22 | $(MCU_DIR)/src/chip_17xx_40xx.c \ 23 | $(MCU_DIR)/src/clock_17xx_40xx.c \ 24 | $(MCU_DIR)/src/gpio_17xx_40xx.c \ 25 | $(MCU_DIR)/src/iocon_17xx_40xx.c \ 26 | $(MCU_DIR)/src/sysctl_17xx_40xx.c \ 27 | $(MCU_DIR)/src/sysinit_17xx_40xx.c \ 28 | $(MCU_DIR)/src/uart_17xx_40xx.c 29 | 30 | INC += \ 31 | $(TOP)/$(MCU_DIR)/inc 32 | 33 | # For TinyUSB port source 34 | VENDOR = nxp 35 | CHIP_FAMILY = lpc17_40 36 | 37 | # For freeRTOS port source 38 | FREERTOS_PORT = ARM_CM3 39 | 40 | # For flash-jlink target 41 | JLINK_DEVICE = LPC1768 42 | 43 | # flash using pyocd 44 | flash: $(BUILD)/$(BOARD)-firmware.hex 45 | pyocd flash -t lpc1768 $< 46 | 47 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mcb1800/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -nostdlib \ 7 | -DCORE_M3 \ 8 | -D__USE_LPCOPEN \ 9 | -DCFG_TUSB_MCU=OPT_MCU_LPC18XX 10 | 11 | # mcu driver cause following warnings 12 | CFLAGS += -Wno-error=unused-parameter -Wno-error=strict-prototypes 13 | 14 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc18xx/lpc_chip_18xx 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = hw/bsp/$(BOARD)/lpc1857.ld 18 | 19 | SRC_C += \ 20 | $(MCU_DIR)/../gcc/cr_startup_lpc18xx.c \ 21 | $(MCU_DIR)/src/chip_18xx_43xx.c \ 22 | $(MCU_DIR)/src/clock_18xx_43xx.c \ 23 | $(MCU_DIR)/src/gpio_18xx_43xx.c \ 24 | $(MCU_DIR)/src/sysinit_18xx_43xx.c \ 25 | $(MCU_DIR)/src/uart_18xx_43xx.c 26 | 27 | INC += \ 28 | $(TOP)/$(MCU_DIR)/inc \ 29 | $(TOP)/$(MCU_DIR)/inc/config_18xx 30 | 31 | # For TinyUSB port source 32 | VENDOR = nxp 33 | CHIP_FAMILY = transdimension 34 | 35 | # For freeRTOS port source 36 | FREERTOS_PORT = ARM_CM3 37 | 38 | # For flash-jlink target 39 | JLINK_DEVICE = LPC1857 40 | 41 | # flash using jlink 42 | flash: flash-jlink 43 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mimxrt1020_evk/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -mthumb \ 3 | -mabi=aapcs \ 4 | -mcpu=cortex-m7 \ 5 | -mfloat-abi=hard \ 6 | -mfpu=fpv5-d16 \ 7 | -D__ARMVFP__=0 -D__ARMFPV5__=0\ 8 | -DCPU_MIMXRT1021DAG5A \ 9 | -DXIP_EXTERNAL_FLASH=1 \ 10 | -DXIP_BOOT_HEADER_ENABLE=1 \ 11 | -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/MIMXRT1021 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/MIMXRT1021xxxxx_flexspi_nor.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_MIMXRT1021.c \ 23 | $(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \ 24 | $(MCU_DIR)/project_template/clock_config.c \ 25 | $(MCU_DIR)/drivers/fsl_clock.c \ 26 | $(MCU_DIR)/drivers/fsl_gpio.c \ 27 | $(MCU_DIR)/drivers/fsl_common.c \ 28 | $(MCU_DIR)/drivers/fsl_lpuart.c 29 | 30 | INC += \ 31 | $(TOP)/hw/bsp/$(BOARD) \ 32 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 33 | $(TOP)/$(MCU_DIR) \ 34 | $(TOP)/$(MCU_DIR)/drivers \ 35 | $(TOP)/$(MCU_DIR)/project_template \ 36 | 37 | SRC_S += $(MCU_DIR)/gcc/startup_MIMXRT1021.S 38 | 39 | # For TinyUSB port source 40 | VENDOR = nxp 41 | CHIP_FAMILY = transdimension 42 | 43 | # For freeRTOS port source 44 | FREERTOS_PORT = ARM_CM7/r0p1 45 | 46 | # For flash-jlink target 47 | JLINK_DEVICE = MIMXRT1021DAG5A 48 | 49 | # For flash-pyocd target 50 | PYOCD_TARGET = mimxrt1020 51 | 52 | # flash using pyocd 53 | flash: flash-pyocd 54 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mimxrt1050_evkb/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -mthumb \ 3 | -mabi=aapcs \ 4 | -mcpu=cortex-m7 \ 5 | -mfloat-abi=hard \ 6 | -mfpu=fpv5-d16 \ 7 | -D__ARMVFP__=0 -D__ARMFPV5__=0\ 8 | -DCPU_MIMXRT1052DVL6B \ 9 | -DXIP_EXTERNAL_FLASH=1 \ 10 | -DXIP_BOOT_HEADER_ENABLE=1 \ 11 | -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/MIMXRT1052 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/MIMXRT1052xxxxx_flexspi_nor.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_MIMXRT1052.c \ 23 | $(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \ 24 | $(MCU_DIR)/project_template/clock_config.c \ 25 | $(MCU_DIR)/drivers/fsl_clock.c \ 26 | $(MCU_DIR)/drivers/fsl_gpio.c \ 27 | $(MCU_DIR)/drivers/fsl_common.c \ 28 | $(MCU_DIR)/drivers/fsl_lpuart.c 29 | 30 | INC += \ 31 | $(TOP)/hw/bsp/$(BOARD) \ 32 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 33 | $(TOP)/$(MCU_DIR) \ 34 | $(TOP)/$(MCU_DIR)/drivers \ 35 | $(TOP)/$(MCU_DIR)/project_template \ 36 | 37 | SRC_S += $(MCU_DIR)/gcc/startup_MIMXRT1052.S 38 | 39 | # For TinyUSB port source 40 | VENDOR = nxp 41 | CHIP_FAMILY = transdimension 42 | 43 | # For freeRTOS port source 44 | FREERTOS_PORT = ARM_CM7/r0p1 45 | 46 | # For flash-pyocd target 47 | PYOCD_TARGET = mimxrt1050 48 | 49 | # flash using pyocd 50 | flash: flash-pyocd 51 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mimxrt1060_evk/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -mthumb \ 3 | -mabi=aapcs \ 4 | -mcpu=cortex-m7 \ 5 | -mfloat-abi=hard \ 6 | -mfpu=fpv5-d16 \ 7 | -D__ARMVFP__=0 -D__ARMFPV5__=0\ 8 | -DCPU_MIMXRT1062DVL6A \ 9 | -DXIP_EXTERNAL_FLASH=1 \ 10 | -DXIP_BOOT_HEADER_ENABLE=1 \ 11 | -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/MIMXRT1062 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/MIMXRT1062xxxxx_flexspi_nor.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_MIMXRT1062.c \ 23 | $(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \ 24 | $(MCU_DIR)/project_template/clock_config.c \ 25 | $(MCU_DIR)/drivers/fsl_clock.c \ 26 | $(MCU_DIR)/drivers/fsl_gpio.c \ 27 | $(MCU_DIR)/drivers/fsl_common.c \ 28 | $(MCU_DIR)/drivers/fsl_lpuart.c 29 | 30 | INC += \ 31 | $(TOP)/hw/bsp/$(BOARD) \ 32 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 33 | $(TOP)/$(MCU_DIR) \ 34 | $(TOP)/$(MCU_DIR)/drivers \ 35 | $(TOP)/$(MCU_DIR)/project_template \ 36 | 37 | SRC_S += $(MCU_DIR)/gcc/startup_MIMXRT1062.S 38 | 39 | # For TinyUSB port source 40 | VENDOR = nxp 41 | CHIP_FAMILY = transdimension 42 | 43 | # For freeRTOS port source 44 | FREERTOS_PORT = ARM_CM7/r0p1 45 | 46 | # For flash-jlink target 47 | JLINK_DEVICE = MIMXRT1062xxx6A 48 | 49 | # For flash-pyocd target 50 | PYOCD_TARGET = mimxrt1060 51 | 52 | # flash using pyocd 53 | flash: flash-pyocd 54 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/mimxrt1064_evk/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -mthumb \ 3 | -mabi=aapcs \ 4 | -mcpu=cortex-m7 \ 5 | -mfloat-abi=hard \ 6 | -mfpu=fpv5-d16 \ 7 | -D__ARMVFP__=0 -D__ARMFPV5__=0\ 8 | -DCPU_MIMXRT1064DVL6A \ 9 | -DXIP_EXTERNAL_FLASH=1 \ 10 | -DXIP_BOOT_HEADER_ENABLE=1 \ 11 | -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/sdk/devices/MIMXRT1064 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = $(MCU_DIR)/gcc/MIMXRT1064xxxxx_flexspi_nor.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/system_MIMXRT1064.c \ 23 | $(MCU_DIR)/xip/fsl_flexspi_nor_boot.c \ 24 | $(MCU_DIR)/project_template/clock_config.c \ 25 | $(MCU_DIR)/drivers/fsl_clock.c \ 26 | $(MCU_DIR)/drivers/fsl_gpio.c \ 27 | $(MCU_DIR)/drivers/fsl_common.c \ 28 | $(MCU_DIR)/drivers/fsl_lpuart.c 29 | 30 | INC += \ 31 | $(TOP)/hw/bsp/$(BOARD) \ 32 | $(TOP)/$(MCU_DIR)/../../CMSIS/Include \ 33 | $(TOP)/$(MCU_DIR) \ 34 | $(TOP)/$(MCU_DIR)/drivers \ 35 | $(TOP)/$(MCU_DIR)/project_template \ 36 | 37 | SRC_S += $(MCU_DIR)/gcc/startup_MIMXRT1064.S 38 | 39 | # For TinyUSB port source 40 | VENDOR = nxp 41 | CHIP_FAMILY = transdimension 42 | 43 | # For freeRTOS port source 44 | FREERTOS_PORT = ARM_CM7/r0p1 45 | 46 | # For flash-jlink target 47 | JLINK_DEVICE = MIMXRT1064xxx6A 48 | 49 | # For flash-pyocd target 50 | PYOCD_TARGET = mimxrt1064 51 | 52 | # flash using pyocd 53 | flash: flash-pyocd 54 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/msp_exp430f5529lp/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -D__MSP430F5529__ \ 3 | -DCFG_TUSB_MCU=OPT_MCU_MSP430x5xx \ 4 | -DCFG_EXAMPLE_MSC_READONLY \ 5 | -DCFG_TUD_ENDPOINT0_SIZE=8 6 | 7 | #-mmcu=msp430f5529 8 | 9 | # Cross Compiler for MSP430 10 | CROSS_COMPILE = msp430-elf- 11 | 12 | # All source paths should be relative to the top level. 13 | LD_FILE = hw/mcu/ti/msp430/msp430-gcc-support-files/include/msp430f5529.ld 14 | LDINC += $(TOP)/hw/mcu/ti/msp430/msp430-gcc-support-files/include 15 | LDFLAGS += $(addprefix -L,$(LDINC)) 16 | 17 | INC += $(TOP)/hw/mcu/ti/msp430/msp430-gcc-support-files/include 18 | 19 | # For TinyUSB port source 20 | VENDOR = ti 21 | CHIP_FAMILY = msp430x5xx 22 | 23 | # export for libmsp430.so to same installation 24 | ifneq ($(OS),Windows_NT) 25 | export LD_LIBRARY_PATH=$(dir $(shell which MSP430Flasher)) 26 | endif 27 | 28 | # flash target using TI MSP430-Flasher 29 | # http://www.ti.com/tool/MSP430-FLASHER 30 | # Please add its installation dir to PATH 31 | flash: $(BUILD)/$(BOARD)-firmware.hex 32 | MSP430Flasher -w $< -z [VCC] 33 | 34 | # flash target using mspdebug. 35 | flash-mspdebug: $(BUILD)/$(BOARD)-firmware.elf 36 | $(MSPDEBUG) tilib "prog $<" --allow-fw-update 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/ngx4330/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib \ 9 | -DCORE_M4 \ 10 | -D__USE_LPCOPEN \ 11 | -DCFG_TUSB_MCU=OPT_MCU_LPC43XX 12 | 13 | # mcu driver cause following warnings 14 | CFLAGS += -Wno-error=strict-prototypes -Wno-error=unused-parameter 15 | 16 | MCU_DIR = hw/mcu/nxp/lpcopen/lpc43xx/lpc_chip_43xx 17 | 18 | # All source paths should be relative to the top level. 19 | LD_FILE = hw/bsp/$(BOARD)/ngx4330.ld 20 | 21 | SRC_C += \ 22 | $(MCU_DIR)/../gcc/cr_startup_lpc43xx.c \ 23 | $(MCU_DIR)/src/chip_18xx_43xx.c \ 24 | $(MCU_DIR)/src/clock_18xx_43xx.c \ 25 | $(MCU_DIR)/src/gpio_18xx_43xx.c \ 26 | $(MCU_DIR)/src/sysinit_18xx_43xx.c \ 27 | $(MCU_DIR)/src/uart_18xx_43xx.c \ 28 | $(MCU_DIR)/src/fpu_init.c 29 | 30 | INC += \ 31 | $(TOP)/$(MCU_DIR)/inc \ 32 | $(TOP)/$(MCU_DIR)/inc/config_43xx 33 | 34 | # For TinyUSB port source 35 | VENDOR = nxp 36 | CHIP_FAMILY = transdimension 37 | 38 | # For freeRTOS port source 39 | FREERTOS_PORT = ARM_CM4F 40 | 41 | # For flash-jlink target 42 | JLINK_DEVICE = LPC4330 43 | JLINK_IF = swd 44 | 45 | # flash using jlink 46 | flash: flash-jlink 47 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/nrf52840_mdk_dongle/nrf52840_mdk_dongle.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x1000, LENGTH = 0xE0000-0x1000 9 | RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 10 | } 11 | 12 | 13 | INCLUDE "nrf_common.ld" 14 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/nutiny_nuc125s/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs-linux \ 5 | -mcpu=cortex-m0 \ 6 | -D__ARM_FEATURE_DSP=0 \ 7 | -DUSE_ASSERT=0 \ 8 | -DCFG_EXAMPLE_MSC_READONLY \ 9 | -DCFG_TUSB_MCU=OPT_MCU_NUC121 10 | 11 | # All source paths should be relative to the top level. 12 | LD_FILE = hw/bsp/$(BOARD)/nuc125_flash.ld 13 | 14 | SRC_C += \ 15 | hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/system_NUC121.c \ 16 | hw/mcu/nuvoton/nuc121_125/StdDriver/src/clk.c \ 17 | hw/mcu/nuvoton/nuc121_125/StdDriver/src/gpio.c 18 | 19 | SRC_S += \ 20 | hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Source/GCC/startup_NUC121.S 21 | 22 | INC += \ 23 | $(TOP)/hw/mcu/nuvoton/nuc121_125/Device/Nuvoton/NUC121/Include \ 24 | $(TOP)/hw/mcu/nuvoton/nuc121_125/StdDriver/inc \ 25 | $(TOP)/hw/mcu/nuvoton/nuc121_125/CMSIS/Include 26 | 27 | # For TinyUSB port source 28 | VENDOR = nuvoton 29 | CHIP_FAMILY = nuc121 30 | 31 | # For freeRTOS port source 32 | FREERTOS_PORT = ARM_CM0 33 | 34 | # For flash-jlink target 35 | JLINK_DEVICE = NUC125SC2AE 36 | 37 | # Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton 38 | # Please compile and install it from github source 39 | flash: $(BUILD)/$(BOARD)-firmware.elf 40 | openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit" 41 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/pca10059/pca10059.ld: -------------------------------------------------------------------------------- 1 | /* Linker script to configure memory regions. */ 2 | 3 | SEARCH_DIR(.) 4 | GROUP(-lgcc -lc -lnosys) 5 | 6 | MEMORY 7 | { 8 | FLASH (rx) : ORIGIN = 0x1000, LENGTH = 0xff000 9 | RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 10 | } 11 | 12 | 13 | INCLUDE "nrf_common.ld" 14 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/pyboardv11/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib -nostartfiles \ 9 | -DSTM32F405xx \ 10 | -DCFG_TUSB_MCU=OPT_MCU_STM32F4 11 | 12 | ST_FAMILY = f4 13 | ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) 14 | ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = hw/bsp/$(BOARD)/STM32F405RGTx_FLASH.ld 18 | 19 | SRC_C += \ 20 | $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ 21 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ 22 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ 23 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ 24 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c 25 | 26 | SRC_S += \ 27 | $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f405xx.s 28 | 29 | INC += \ 30 | $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \ 31 | $(TOP)/$(ST_CMSIS)/Include \ 32 | $(TOP)/$(ST_HAL_DRIVER)/Inc \ 33 | $(TOP)/hw/bsp/$(BOARD) 34 | 35 | # For TinyUSB port source 36 | VENDOR = st 37 | CHIP_FAMILY = synopsys 38 | 39 | # For freeRTOS port source 40 | FREERTOS_PORT = ARM_CM4F 41 | 42 | # For flash-jlink target 43 | JLINK_DEVICE = stm32f405rg 44 | 45 | # flash target using on-board stlink 46 | flash: flash-stlink 47 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/seeeduino_xiao/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs-linux \ 5 | -mcpu=cortex-m0plus \ 6 | -nostdlib -nostartfiles \ 7 | -D__SAMD21G18A__ \ 8 | -DCONF_DFLL_OVERWRITE_CALIBRATION=0 \ 9 | -DCFG_TUSB_MCU=OPT_MCU_SAMD21 10 | 11 | # All source paths should be relative to the top level. 12 | LD_FILE = hw/bsp/$(BOARD)/samd21g18a_flash.ld 13 | 14 | SRC_C += \ 15 | hw/mcu/microchip/asf4/samd21/gcc/gcc/startup_samd21.c \ 16 | hw/mcu/microchip/asf4/samd21/gcc/system_samd21.c \ 17 | hw/mcu/microchip/asf4/samd21/hpl/gclk/hpl_gclk.c \ 18 | hw/mcu/microchip/asf4/samd21/hpl/pm/hpl_pm.c \ 19 | hw/mcu/microchip/asf4/samd21/hpl/sysctrl/hpl_sysctrl.c \ 20 | hw/mcu/microchip/asf4/samd21/hal/src/hal_atomic.c 21 | 22 | INC += \ 23 | $(TOP)/hw/mcu/microchip/asf4/samd21/ \ 24 | $(TOP)/hw/mcu/microchip/asf4/samd21/config \ 25 | $(TOP)/hw/mcu/microchip/asf4/samd21/include \ 26 | $(TOP)/hw/mcu/microchip/asf4/samd21/hal/include \ 27 | $(TOP)/hw/mcu/microchip/asf4/samd21/hal/utils/include \ 28 | $(TOP)/hw/mcu/microchip/asf4/samd21/hpl/pm/ \ 29 | $(TOP)/hw/mcu/microchip/asf4/samd21/hpl/port \ 30 | $(TOP)/hw/mcu/microchip/asf4/samd21/hri \ 31 | $(TOP)/hw/mcu/microchip/asf4/samd21/CMSIS/Include 32 | 33 | # For TinyUSB port source 34 | VENDOR = microchip 35 | CHIP_FAMILY = samd 36 | 37 | # For freeRTOS port source 38 | FREERTOS_PORT = ARM_CM0 39 | 40 | # For flash-jlink target 41 | JLINK_DEVICE = ATSAMD21G18 42 | 43 | # flash using jlink 44 | flash: flash-jlink 45 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/stm32f207nucleo/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m3 \ 6 | -mfloat-abi=soft \ 7 | -nostdlib -nostartfiles \ 8 | -DSTM32F207xx \ 9 | -DCFG_TUSB_MCU=OPT_MCU_STM32F2 10 | 11 | # mcu driver cause following warnings 12 | CFLAGS += -Wno-error=sign-compare 13 | 14 | ST_FAMILY = f2 15 | ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) 16 | ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver 17 | 18 | 19 | # All source paths should be relative to the top level. 20 | LD_FILE = hw/bsp/$(BOARD)/STM32F207ZGTx_FLASH.ld 21 | 22 | SRC_C += \ 23 | $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ 24 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ 25 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ 26 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ 27 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc_ex.c \ 28 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c 29 | 30 | SRC_S += \ 31 | $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f207xx.s 32 | 33 | INC += \ 34 | $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \ 35 | $(TOP)/$(ST_CMSIS)/Include \ 36 | $(TOP)/$(ST_HAL_DRIVER)/Inc \ 37 | $(TOP)/hw/bsp/$(BOARD) 38 | 39 | # For TinyUSB port source 40 | VENDOR = st 41 | CHIP_FAMILY = synopsys 42 | 43 | # For freeRTOS port source 44 | FREERTOS_PORT = ARM_CM3 45 | 46 | # For flash-jlink target 47 | JLINK_DEVICE = stm32f207zg 48 | 49 | # flash target using on-board stlink 50 | flash: flash-stlink 51 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/stm32f401blackpill/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib -nostartfiles \ 9 | -DSTM32F401xC \ 10 | -DCFG_TUSB_MCU=OPT_MCU_STM32F4 11 | 12 | ST_FAMILY = f4 13 | ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) 14 | ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = hw/bsp/$(BOARD)/STM32F401VCTx_FLASH.ld 18 | 19 | SRC_C += \ 20 | $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ 21 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ 22 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ 23 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ 24 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c 25 | 26 | SRC_S += \ 27 | $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f401xc.s 28 | 29 | INC += \ 30 | $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \ 31 | $(TOP)/$(ST_CMSIS)/Include \ 32 | $(TOP)/$(ST_HAL_DRIVER)/Inc \ 33 | $(TOP)/hw/bsp/$(BOARD) 34 | 35 | # For TinyUSB port source 36 | VENDOR = st 37 | CHIP_FAMILY = synopsys 38 | 39 | # For freeRTOS port source 40 | FREERTOS_PORT = ARM_CM4F 41 | 42 | # For flash-jlink target 43 | JLINK_DEVICE = stm32f401cc 44 | 45 | # flash target ROM bootloader 46 | flash: $(BUILD)/$(BOARD)-firmware.bin 47 | dfu-util -R -a 0 --dfuse-address 0x08000000 -D $< 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/bsp/stm32f411blackpill/board.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += \ 2 | -flto \ 3 | -mthumb \ 4 | -mabi=aapcs \ 5 | -mcpu=cortex-m4 \ 6 | -mfloat-abi=hard \ 7 | -mfpu=fpv4-sp-d16 \ 8 | -nostdlib -nostartfiles \ 9 | -DSTM32F411xE \ 10 | -DCFG_TUSB_MCU=OPT_MCU_STM32F4 11 | 12 | ST_FAMILY = f4 13 | ST_CMSIS = hw/mcu/st/cmsis_device_$(ST_FAMILY) 14 | ST_HAL_DRIVER = hw/mcu/st/stm32$(ST_FAMILY)xx_hal_driver 15 | 16 | # All source paths should be relative to the top level. 17 | LD_FILE = hw/bsp/$(BOARD)/STM32F411CEUx_FLASH.ld 18 | 19 | SRC_C += \ 20 | $(ST_CMSIS)/Source/Templates/system_stm32$(ST_FAMILY)xx.c \ 21 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal.c \ 22 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_cortex.c \ 23 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_rcc.c \ 24 | $(ST_HAL_DRIVER)/Src/stm32$(ST_FAMILY)xx_hal_gpio.c 25 | 26 | SRC_S += \ 27 | $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f411xe.s 28 | 29 | INC += \ 30 | $(TOP)/lib/CMSIS_5/CMSIS/Core/Include \ 31 | $(TOP)/$(ST_CMSIS)/Include \ 32 | $(TOP)/$(ST_HAL_DRIVER)/Inc \ 33 | $(TOP)/hw/bsp/$(BOARD) 34 | 35 | # For TinyUSB port source 36 | VENDOR = st 37 | CHIP_FAMILY = synopsys 38 | 39 | # For freeRTOS port source 40 | FREERTOS_PORT = ARM_CM4F 41 | 42 | # For flash-jlink target 43 | JLINK_DEVICE = stm32f411ce 44 | 45 | # flash target ROM bootloader 46 | flash: $(BUILD)/$(BOARD)-firmware.bin 47 | dfu-util -R -a 0 --dfuse-address 0x08000000 -D $< 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/mcu/dialog/README.md: -------------------------------------------------------------------------------- 1 | # Dialog DA1469x MCU 2 | 3 | **Dialog Semiconductors** provides SDKs for DA146x MCU family. 4 | Most of the files there can't be redistributed. 5 | Registers definition file `DA1469xAB.h` and some **ARM** originated headers are have licenses that allow 6 | for redistribution. 7 | Whole SDK repository can be downloaded from Dialog Semiconductor web page `https://www.dialog.com` 8 | 9 | 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/hw/mcu/nordic/nrfx_config.h: -------------------------------------------------------------------------------- 1 | #ifndef NRFX_CONFIG_H__ 2 | #define NRFX_CONFIG_H__ 3 | 4 | #define NRFX_POWER_ENABLED 1 5 | #define NRFX_POWER_DEFAULT_CONFIG_IRQ_PRIORITY 7 6 | 7 | #define NRFX_CLOCK_ENABLED 0 8 | 9 | #define NRFX_UARTE_ENABLED 1 10 | #define NRFX_UARTE0_ENABLED 1 11 | 12 | #define NRFX_UARTE1_ENABLED 0 13 | #define NRFX_UARTE2_ENABLED 0 14 | #define NRFX_UARTE3_ENABLED 0 15 | 16 | #define NRFX_PRS_ENABLED 0 17 | 18 | #endif // NRFX_CONFIG_H__ 19 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/lib/SEGGER_RTT/License.txt: -------------------------------------------------------------------------------- 1 | Important - Read carefully: 2 | 3 | SEGGER RTT - Real Time Transfer for embedded targets 4 | 5 | All rights reserved. 6 | 7 | SEGGER strongly recommends to not make any changes 8 | to or modify the source code of this software in order to stay 9 | compatible with the RTT protocol and J-Link. 10 | 11 | Redistribution and use in source and binary forms, with or 12 | without modification, are permitted provided that the following 13 | condition is met: 14 | 15 | o Redistributions of source code must retain the above copyright 16 | notice, this condition and the following disclaimer. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 19 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 20 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR 23 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 25 | OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 26 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 29 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 30 | DAMAGE. 31 | 32 | 33 | (c) 2014 - 2016 SEGGER Microcontroller GmbH 34 | www.segger.com 35 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/lib/SEGGER_RTT/README.txt: -------------------------------------------------------------------------------- 1 | README.txt for the SEGGER RTT Implementation Pack. 2 | 3 | Included files: 4 | =============== 5 | Root Directory 6 | - Examples 7 | - Main_RTT_InputEchoApp.c - Sample application which echoes input on Channel 0. 8 | - Main_RTT_MenuApp.c - Sample application to demonstrate RTT bi-directional functionality. 9 | - Main_RTT_PrintfTest.c - Sample application to test RTT small printf implementation. 10 | - Main_RTT_SpeedTestApp.c - Sample application for measuring RTT performance. embOS needed. 11 | - RTT 12 | - SEGGER_RTT.c - The RTT implementation. 13 | - SEGGER_RTT.h - Header for RTT implementation. 14 | - SEGGER_RTT_Conf.h - Pre-processor configuration for the RTT implementation. 15 | - SEGGER_RTT_Printf.c - Simple implementation of printf to write formatted strings via RTT. 16 | - Syscalls 17 | - RTT_Syscalls_GCC.c - Low-level syscalls to retarget printf() to RTT with GCC / Newlib. 18 | - RTT_Syscalls_IAR.c - Low-level syscalls to retarget printf() to RTT with IAR compiler. 19 | - RTT_Syscalls_KEIL.c - Low-level syscalls to retarget printf() to RTT with KEIL/uVision compiler. 20 | - RTT_Syscalls_SES.c - Low-level syscalls to retarget printf() to RTT with SEGGER Embedded Studio. 21 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/lib/fatfs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _INTEGER 6 | #define _INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | 13 | #else /* Embedded platform */ 14 | 15 | /* These types must be 16-bit, 32-bit or larger integer */ 16 | typedef int INT; 17 | typedef unsigned int UINT; 18 | 19 | /* These types must be 8-bit integer */ 20 | typedef unsigned char UCHAR; 21 | typedef unsigned char BYTE; 22 | 23 | /* These types must be 16-bit integer */ 24 | typedef short SHORT; 25 | typedef unsigned short USHORT; 26 | typedef unsigned short WORD; 27 | typedef unsigned short WCHAR; 28 | 29 | /* These types must be 32-bit integer */ 30 | typedef long LONG; 31 | typedef unsigned long ULONG; 32 | typedef unsigned long DWORD; 33 | 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/pkg.yml: -------------------------------------------------------------------------------- 1 | pkg.name: tinyusb 2 | pkg.description: A silly USB stack for embedded 3 | pkg.author: "Ha Thach " 4 | pkg.homepage: "https://github.com/hathach/tinyusb" 5 | pkg.keywords: 6 | - usb 7 | 8 | pkg.type: sdk 9 | 10 | pkg.deps: 11 | - "@apache-mynewt-core/kernel/os" 12 | 13 | pkg.include_dirs: 14 | - src 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/repository.yml: -------------------------------------------------------------------------------- 1 | repo.name: tinyusb 2 | repo.versions: 3 | "0.0.0": "master" 4 | 5 | "0-dev": "0.0.0" 6 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/ceedling: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ruby vendor/ceedling/bin/ceedling $* 4 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/build_invoker_utils.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/constants' 2 | 3 | ## 4 | # Utilities for raiser and reporting errors during building. 5 | class BuildInvokerUtils 6 | 7 | constructor :configurator, :streaminator 8 | 9 | ## 10 | # Processes exceptions and tries to display a useful message for the user. 11 | # 12 | # ==== Attriboops...utes 13 | # 14 | # * _exception_: The exception given by a rescue statement. 15 | # * _context_: A symbol representing where in the build the exception 16 | # occurs. 17 | # * _test_build_: A bool to signify if the exception occurred while building 18 | # from test or source. 19 | # 20 | def process_exception(exception, context, test_build=true) 21 | if (exception.message =~ /Don't know how to build task '(.+)'/i) 22 | error_header = "ERROR: Rake could not find file referenced in source" 23 | error_header += " or test" if (test_build) 24 | error_header += ": '#{$1}'. Possible stale dependency." 25 | 26 | @streaminator.stderr_puts( error_header ) 27 | 28 | if (@configurator.project_use_deep_dependencies) 29 | help_message = "Try fixing #include statements or adding missing file. Then run '#{REFRESH_TASK_ROOT}#{context.to_s}' task and try again." 30 | @streaminator.stderr_puts( help_message ) 31 | end 32 | 33 | raise '' 34 | else 35 | raise exception 36 | end 37 | end 38 | 39 | end 40 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/cacheinator_helper.rb: -------------------------------------------------------------------------------- 1 | 2 | class CacheinatorHelper 3 | 4 | constructor :file_wrapper, :yaml_wrapper 5 | 6 | def diff_cached_config?(cached_filepath, hash) 7 | return true if ( not @file_wrapper.exist?(cached_filepath) ) 8 | return true if ( (@file_wrapper.exist?(cached_filepath)) and (!(@yaml_wrapper.load(cached_filepath) == hash)) ) 9 | return false 10 | end 11 | 12 | def diff_cached_defines?(cached_filepath, files) 13 | current_defines = COLLECTION_DEFINES_TEST_AND_VENDOR.reject(&:empty?) 14 | 15 | current_dependency = Hash[files.collect { |source| [source, current_defines.dup] }] 16 | if not @file_wrapper.exist?(cached_filepath) 17 | @yaml_wrapper.dump(cached_filepath, current_dependency) 18 | return false 19 | end 20 | 21 | dependencies = @yaml_wrapper.load(cached_filepath) 22 | if dependencies.values_at(*current_dependency.keys) != current_dependency.values 23 | dependencies.merge!(current_dependency) 24 | @yaml_wrapper.dump(cached_filepath, dependencies) 25 | return true 26 | end 27 | 28 | return false 29 | end 30 | 31 | end 32 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/cmock_builder.rb: -------------------------------------------------------------------------------- 1 | require 'cmock' 2 | 3 | class CmockBuilder 4 | 5 | attr_accessor :cmock 6 | 7 | def setup 8 | @cmock = nil 9 | end 10 | 11 | def manufacture(cmock_config) 12 | @cmock = CMock.new(cmock_config) 13 | end 14 | 15 | end 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/erb_wrapper.rb: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | 3 | class ErbWrapper 4 | def generate_file(template, data, output_file) 5 | File.open(output_file, "w") do |f| 6 | f << ERB.new(template, 0, "<>").result(binding) 7 | end 8 | end 9 | end -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/file_system_wrapper.rb: -------------------------------------------------------------------------------- 1 | 2 | class FileSystemWrapper 3 | 4 | def cd(path) 5 | FileUtils.cd path do 6 | yield 7 | end 8 | end 9 | 10 | end -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/loginator.rb: -------------------------------------------------------------------------------- 1 | 2 | class Loginator 3 | 4 | constructor :configurator, :project_file_loader, :project_config_manager, :file_wrapper, :system_wrapper 5 | 6 | 7 | def setup_log_filepath 8 | config_files = [] 9 | config_files << @project_file_loader.main_file 10 | config_files << @project_file_loader.user_file 11 | config_files.concat( @project_config_manager.options_files ) 12 | config_files.compact! 13 | config_files.map! { |file| file.ext('') } 14 | 15 | log_name = config_files.join( '_' ) 16 | 17 | @project_log_filepath = File.join( @configurator.project_log_path, log_name.ext('.log') ) 18 | end 19 | 20 | 21 | def log(string, heading=nil) 22 | return if (not @configurator.project_logging) 23 | 24 | output = "\n[#{@system_wrapper.time_now}]" 25 | output += " :: #{heading}" if (not heading.nil?) 26 | output += "\n#{string.strip}\n" 27 | 28 | @file_wrapper.write(@project_log_filepath, output, 'a') 29 | end 30 | 31 | end 32 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/par_map.rb: -------------------------------------------------------------------------------- 1 | 2 | 3 | def par_map(n, things, &block) 4 | queue = Queue.new 5 | things.each { |thing| queue << thing } 6 | threads = (1..n).collect do 7 | Thread.new do 8 | begin 9 | while true 10 | yield queue.pop(true) 11 | end 12 | rescue ThreadError 13 | 14 | end 15 | end 16 | end 17 | threads.each { |t| t.join } 18 | end 19 | 20 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/plugin_manager_helper.rb: -------------------------------------------------------------------------------- 1 | 2 | class PluginManagerHelper 3 | 4 | def include?(plugins, name) 5 | include = false 6 | plugins.each do |plugin| 7 | if (plugin.name == name) 8 | include = true 9 | break 10 | end 11 | end 12 | return include 13 | end 14 | 15 | def instantiate_plugin_script(plugin, system_objects, name) 16 | return eval("#{plugin}.new(system_objects, name)") 17 | end 18 | 19 | end 20 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/preprocessinator_extractor.rb: -------------------------------------------------------------------------------- 1 | class PreprocessinatorExtractor 2 | def extract_base_file_from_preprocessed_expansion(filepath) 3 | # preprocessing by way of toolchain preprocessor expands macros, eliminates 4 | # comments, strips out #ifdef code, etc. however, it also expands in place 5 | # each #include'd file. so, we must extract only the lines of the file 6 | # that belong to the file originally preprocessed 7 | 8 | # iterate through all lines and alternate between extract and ignore modes 9 | # all lines between a '#'line containing file name of our filepath and the 10 | # next '#'line should be extracted 11 | 12 | base_name = File.basename(filepath) 13 | not_pragma = /^#(?!pragma\b)/ # preprocessor directive that's not a #pragma 14 | pattern = /^#.*(\s|\/|\\|\")#{Regexp.escape(base_name)}/ 15 | found_file = false # have we found the file we care about? 16 | 17 | lines = [] 18 | File.readlines(filepath).each do |line| 19 | if found_file and not line =~ not_pragma 20 | lines << line 21 | else 22 | found_file = false 23 | end 24 | 25 | found_file = true if line =~ pattern 26 | end 27 | 28 | return lines 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/preprocessinator_file_handler.rb: -------------------------------------------------------------------------------- 1 | 2 | 3 | class PreprocessinatorFileHandler 4 | 5 | constructor :preprocessinator_extractor, :configurator, :tool_executor, :file_path_utils, :file_wrapper 6 | 7 | 8 | def preprocess_file(filepath, includes) 9 | preprocessed_filepath = @file_path_utils.form_preprocessed_file_filepath(filepath) 10 | 11 | command = @tool_executor.build_command_line(@configurator.tools_test_file_preprocessor, [], filepath, preprocessed_filepath) 12 | @tool_executor.exec(command[:line], command[:options]) 13 | 14 | contents = @preprocessinator_extractor.extract_base_file_from_preprocessed_expansion(preprocessed_filepath) 15 | 16 | includes.each{|include| contents.unshift("#include \"#{include}\"")} 17 | 18 | @file_wrapper.write(preprocessed_filepath, contents.join("\n")) 19 | end 20 | 21 | end 22 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rake_utils.rb: -------------------------------------------------------------------------------- 1 | 2 | class RakeUtils 3 | 4 | constructor :rake_wrapper 5 | 6 | def task_invoked?(task_regex) 7 | task_invoked = false 8 | @rake_wrapper.task_list.each do |task| 9 | if ((task.already_invoked) and (task.to_s =~ task_regex)) 10 | task_invoked = true 11 | break 12 | end 13 | end 14 | return task_invoked 15 | end 16 | 17 | end 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rake_wrapper.rb: -------------------------------------------------------------------------------- 1 | require 'rubygems' 2 | require 'rake' 3 | require 'ceedling/makefile' # our replacement for rake's make-style dependency loader 4 | 5 | include Rake::DSL if defined?(Rake::DSL) 6 | 7 | class Rake::Task 8 | attr_reader :already_invoked 9 | end 10 | 11 | class RakeWrapper 12 | 13 | def initialize 14 | @makefile_loader = Rake::MakefileLoader.new # use our custom replacement noted above 15 | end 16 | 17 | def [](task) 18 | return Rake::Task[task] 19 | end 20 | 21 | def task_list 22 | return Rake::Task.tasks 23 | end 24 | 25 | def create_file_task(file_task, dependencies) 26 | file(file_task => dependencies) 27 | end 28 | 29 | def load_dependencies(dependencies_path) 30 | @makefile_loader.load(dependencies_path) 31 | end 32 | 33 | end 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/release_invoker_helper.rb: -------------------------------------------------------------------------------- 1 | 2 | 3 | class ReleaseInvokerHelper 4 | 5 | constructor :configurator, :dependinator, :task_invoker 6 | 7 | 8 | def process_deep_dependencies(dependencies_list) 9 | return if (not @configurator.project_use_deep_dependencies) 10 | 11 | if @configurator.project_generate_deep_dependencies 12 | @dependinator.enhance_release_file_dependencies( dependencies_list ) 13 | @task_invoker.invoke_release_dependencies_files( dependencies_list ) 14 | end 15 | 16 | @dependinator.load_release_object_deep_dependencies( dependencies_list ) 17 | end 18 | 19 | end 20 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/reportinator.rb: -------------------------------------------------------------------------------- 1 | ## 2 | # Pretifies reports 3 | class Reportinator 4 | 5 | ## 6 | # Generates a banner for a message based on the length of the message or a 7 | # given width. 8 | # ==== Attributes 9 | # 10 | # * _message_: The message to put. 11 | # * _width_: The width of the message. If nil the size of the banner is 12 | # determined by the length of the message. 13 | # 14 | # ==== Examples 15 | # 16 | # rp = Reportinator.new 17 | # rp.generate_banner("Hello world!") => "------------\nHello world!\n------------\n" 18 | # rp.generate_banner("Hello world!", 3) => "---\nHello world!\n---\n" 19 | # 20 | # 21 | def generate_banner(message, width=nil) 22 | dash_count = ((width.nil?) ? message.strip.length : width) 23 | return "#{'-' * dash_count}\n#{message}\n#{'-' * dash_count}\n" 24 | end 25 | 26 | end 27 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rules_cmock.rake: -------------------------------------------------------------------------------- 1 | 2 | 3 | rule(/#{CMOCK_MOCK_PREFIX}[^\/\\]+#{'\\'+EXTENSION_SOURCE}$/ => [ 4 | proc do |task_name| 5 | @ceedling[:file_finder].find_header_input_for_mock_file(task_name) 6 | end 7 | ]) do |mock| 8 | @ceedling[:generator].generate_mock(TEST_SYM, mock.source) 9 | end 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rules_preprocess.rake: -------------------------------------------------------------------------------- 1 | 2 | 3 | # invocations against this rule should only happen when enhanced dependencies are enabled; 4 | # otherwise, dependency tracking will be too shallow and preprocessed files could intermittently 5 | # fail to be updated when they actually need to be. 6 | rule(/#{PROJECT_TEST_PREPROCESS_FILES_PATH}\/.+/ => [ 7 | proc do |task_name| 8 | @ceedling[:file_finder].find_test_or_source_or_header_file(task_name) 9 | end 10 | ]) do |file| 11 | if (not @ceedling[:configurator].project_use_deep_dependencies) 12 | raise 'ERROR: Ceedling preprocessing rule invoked though neccessary auxiliary dependency support not enabled.' 13 | end 14 | @ceedling[:generator].generate_preprocessed_file(TEST_SYM, file.source) 15 | end 16 | 17 | 18 | # invocations against this rule can always happen as there are no deeper dependencies to consider 19 | rule(/#{PROJECT_TEST_PREPROCESS_INCLUDES_PATH}\/.+/ => [ 20 | proc do |task_name| 21 | @ceedling[:file_finder].find_test_or_source_or_header_file(task_name) 22 | end 23 | ]) do |file| 24 | @ceedling[:generator].generate_shallow_includes_list(TEST_SYM, file.source) 25 | end 26 | 27 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rules_release_deep_dependencies.rake: -------------------------------------------------------------------------------- 1 | 2 | 3 | rule(/#{PROJECT_RELEASE_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [ 4 | proc do |task_name| 5 | @ceedling[:file_finder].find_compilation_input_file(task_name, :error, true) 6 | end 7 | ]) do |dep| 8 | @ceedling[:generator].generate_dependencies_file( 9 | TOOLS_RELEASE_DEPENDENCIES_GENERATOR, 10 | RELEASE_SYM, 11 | dep.source, 12 | @ceedling[:file_path_utils].form_release_build_c_object_filepath(dep.source), 13 | dep.name) 14 | end 15 | 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/rules_tests_deep_dependencies.rake: -------------------------------------------------------------------------------- 1 | 2 | 3 | rule(/#{PROJECT_TEST_DEPENDENCIES_PATH}\/#{'.+\\'+EXTENSION_DEPENDENCIES}$/ => [ 4 | proc do |task_name| 5 | @ceedling[:file_finder].find_compilation_input_file(task_name) 6 | end 7 | ]) do |dep| 8 | @ceedling[:generator].generate_dependencies_file( 9 | TOOLS_TEST_DEPENDENCIES_GENERATOR, 10 | TEST_SYM, 11 | dep.source, 12 | @ceedling[:file_path_utils].form_test_build_c_object_filepath(dep.source), 13 | dep.name) 14 | end 15 | 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/stream_wrapper.rb: -------------------------------------------------------------------------------- 1 | 2 | class StreamWrapper 3 | 4 | def stdout_override(&fnc) 5 | @stdout_overide_fnc = fnc 6 | end 7 | 8 | def stdout_puts(string) 9 | if @stdout_overide_fnc 10 | @stdout_overide_fnc.call(string) 11 | else 12 | $stdout.puts(string) 13 | end 14 | end 15 | 16 | def stdout_flush 17 | $stdout.flush 18 | end 19 | 20 | def stderr_puts(string) 21 | $stderr.puts(string) 22 | end 23 | 24 | def stderr_flush 25 | $stderr.flush 26 | end 27 | 28 | end 29 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/streaminator.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/constants' 2 | 3 | class Streaminator 4 | 5 | constructor :streaminator_helper, :verbosinator, :loginator, :stream_wrapper 6 | 7 | # for those objects for whom the configurator has already been instantiated, 8 | # Streaminator is a convenience object for handling verbosity and writing to the std streams 9 | 10 | def stdout_puts(string, verbosity=Verbosity::NORMAL) 11 | if (@verbosinator.should_output?(verbosity)) 12 | @stream_wrapper.stdout_puts(string) 13 | @stream_wrapper.stdout_flush 14 | end 15 | 16 | # write to log as though Verbosity::OBNOXIOUS 17 | @loginator.log( string, @streaminator_helper.extract_name($stdout) ) 18 | end 19 | 20 | def stderr_puts(string, verbosity=Verbosity::NORMAL) 21 | if (@verbosinator.should_output?(verbosity)) 22 | @stream_wrapper.stderr_puts(string) 23 | @stream_wrapper.stderr_flush 24 | end 25 | 26 | # write to log as though Verbosity::OBNOXIOUS 27 | @loginator.log( string, @streaminator_helper.extract_name($stderr) ) 28 | end 29 | 30 | def stream_puts(stream, string, verbosity=Verbosity::NORMAL) 31 | if (@verbosinator.should_output?(verbosity)) 32 | stream.puts(string) 33 | stream.flush 34 | end 35 | 36 | # write to log as though Verbosity::OBNOXIOUS 37 | @loginator.log( string, @streaminator_helper.extract_name(stream) ) 38 | end 39 | 40 | end 41 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/streaminator_helper.rb: -------------------------------------------------------------------------------- 1 | 2 | class StreaminatorHelper 3 | 4 | def extract_name(stream) 5 | name = case (stream.fileno) 6 | when 0 then '#' 7 | when 1 then '#' 8 | when 2 then '#' 9 | else stream.inspect 10 | end 11 | 12 | return name 13 | end 14 | 15 | end 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/system_utils.rb: -------------------------------------------------------------------------------- 1 | 2 | class Object 3 | def deep_clone 4 | Marshal::load(Marshal.dump(self)) 5 | end 6 | end 7 | 8 | 9 | ## 10 | # Class containing system utility funcions. 11 | class SystemUtils 12 | 13 | constructor :system_wrapper 14 | 15 | ## 16 | # Sets up the class. 17 | def setup 18 | @tcsh_shell = nil 19 | end 20 | 21 | ## 22 | # Checks the system shell to see if it a tcsh shell. 23 | def tcsh_shell? 24 | # once run a single time, return state determined at that execution 25 | return @tcsh_shell if not @tcsh_shell.nil? 26 | 27 | result = @system_wrapper.shell_backticks('echo $version') 28 | 29 | if ((result[:exit_code] == 0) and (result[:output].strip =~ /^tcsh/)) 30 | @tcsh_shell = true 31 | else 32 | @tcsh_shell = false 33 | end 34 | 35 | return @tcsh_shell 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/target_loader.rb: -------------------------------------------------------------------------------- 1 | module TargetLoader 2 | class NoTargets < Exception; end 3 | class NoDirectory < Exception; end 4 | class NoDefault < Exception; end 5 | class NoSuchTarget < Exception; end 6 | 7 | class RequestReload < Exception; end 8 | 9 | def self.inspect(config, target_name=nil) 10 | unless config[:targets] 11 | raise NoTargets 12 | end 13 | 14 | targets = config[:targets] 15 | unless targets[:targets_directory] 16 | raise NoDirectory.new("No targets directory specified.") 17 | end 18 | unless targets[:default_target] 19 | raise NoDefault.new("No default target specified.") 20 | end 21 | 22 | target_path = lambda {|name| File.join(targets[:targets_directory], name + ".yml")} 23 | 24 | target = if target_name 25 | target_path.call(target_name) 26 | else 27 | target_path.call(targets[:default_target]) 28 | end 29 | 30 | unless File.exists? target 31 | raise NoSuchTarget.new("No such target: #{target}") 32 | end 33 | 34 | ENV['CEEDLING_MAIN_PROJECT_FILE'] = target 35 | 36 | raise RequestReload 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/tasks_release.rake: -------------------------------------------------------------------------------- 1 | require 'ceedling/constants' 2 | require 'ceedling/file_path_utils' 3 | 4 | 5 | desc "Build release target." 6 | task RELEASE_SYM => [:directories] do 7 | header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'" 8 | @ceedling[:streaminator].stdout_puts("\n\n#{header}\n#{'-' * header.length}") 9 | 10 | begin 11 | @ceedling[:plugin_manager].pre_release 12 | 13 | core_objects = [] 14 | extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS ) 15 | 16 | @ceedling[:project_config_manager].process_release_config_change 17 | core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) ) 18 | 19 | # if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens 20 | core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) ) 21 | 22 | # if we're using libraries, we need to add those to our collection as well 23 | library_objects = (defined? LIBRARIES_RELEASE && !LIBRARIES_RELEASE.empty?) ? LIBRARIES_RELEASE.flatten.compact : [] 24 | file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects + library_objects) ) 25 | Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke 26 | ensure 27 | @ceedling[:plugin_manager].post_release 28 | end 29 | end 30 | 31 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/tasks_release_deep_dependencies.rake: -------------------------------------------------------------------------------- 1 | require 'ceedling/constants' 2 | 3 | namespace REFRESH_SYM do 4 | 5 | task RELEASE_SYM do 6 | @ceedling[:release_invoker].refresh_c_deep_dependencies 7 | end 8 | 9 | end 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/tasks_tests_deep_dependencies.rake: -------------------------------------------------------------------------------- 1 | require 'ceedling/constants' 2 | 3 | namespace REFRESH_SYM do 4 | 5 | task TEST_SYM do 6 | @ceedling[:test_invoker].refresh_deep_dependencies 7 | end 8 | 9 | end 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/test_invoker_helper.rb: -------------------------------------------------------------------------------- 1 | 2 | class TestInvokerHelper 3 | 4 | constructor :configurator, :task_invoker, :test_includes_extractor, :file_finder, :file_path_utils, :file_wrapper 5 | 6 | def clean_results(results, options) 7 | @file_wrapper.rm_f( results[:fail] ) 8 | @file_wrapper.rm_f( results[:pass] ) if (options[:force_run]) 9 | end 10 | 11 | def process_deep_dependencies(files) 12 | return if (not @configurator.project_use_deep_dependencies) 13 | 14 | dependencies_list = @file_path_utils.form_test_dependencies_filelist( files ) 15 | 16 | if @configurator.project_generate_deep_dependencies 17 | @task_invoker.invoke_test_dependencies_files( dependencies_list ) 18 | end 19 | 20 | yield( dependencies_list ) if block_given? 21 | end 22 | 23 | def extract_sources(test) 24 | sources = [] 25 | includes = @test_includes_extractor.lookup_includes_list(test) 26 | 27 | includes.each { |include| sources << @file_finder.find_compilation_input_file(include, :ignore) } 28 | 29 | return sources.compact 30 | end 31 | 32 | end 33 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/verbosinator.rb: -------------------------------------------------------------------------------- 1 | 2 | class Verbosinator 3 | 4 | constructor :configurator 5 | 6 | def should_output?(level) 7 | return (level <= @configurator.project_verbosity) 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/version.rb: -------------------------------------------------------------------------------- 1 | 2 | # @private 3 | module Ceedling 4 | module Version 5 | # Check for local or global version of vendor directory in order to look up versions 6 | { 7 | "CEXCEPTION" => File.join("vendor","c_exception","lib","CException.h"), 8 | "CMOCK" => File.join("vendor","cmock","src","cmock.h"), 9 | "UNITY" => File.join("vendor","unity","src","unity.h"), 10 | }.each_pair do |name, path| 11 | filename = if (File.exist?(File.join("..","..",path))) 12 | File.join("..","..",path) 13 | elsif (File.exist?(File.join(File.dirname(__FILE__),"..","..",path))) 14 | File.join(File.dirname(__FILE__),"..","..",path) 15 | else 16 | eval "#{name} = 'unknown'" 17 | continue 18 | end 19 | 20 | # Actually look up the versions 21 | a = [0,0,0] 22 | File.readlines(filename) do |line| 23 | ["VERSION_MAJOR", "VERSION_MINOR", "VERSION_BUILD"].each_with_index do |field, i| 24 | m = line.match(/#{name}_#{field}\s+(\d+)/) 25 | a[i] = m[1] unless (m.nil?) 26 | end 27 | end 28 | 29 | # Make a constant from each, so that we can use it elsewhere 30 | eval "#{name} = '#{a.join(".")}'" 31 | end 32 | 33 | GEM = "0.29.0" 34 | CEEDLING = GEM 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/version.rb.erb: -------------------------------------------------------------------------------- 1 | # @private 2 | module Ceedling 3 | module Version 4 | # @private 5 | GEM = "0.27.0" 6 | # @private 7 | CEEDLING = "<%= versions["CEEDLING"] %>" 8 | # @private 9 | CEXCEPTION = "<%= versions["CEXCEPTION"] %>" 10 | # @private 11 | CMOCK = "<%= versions["CMOCK"] %>" 12 | # @private 13 | UNITY = "<%= versions["UNITY"] %>" 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/lib/ceedling/yaml_wrapper.rb: -------------------------------------------------------------------------------- 1 | require 'yaml' 2 | require 'erb' 3 | 4 | 5 | class YamlWrapper 6 | 7 | def load(filepath) 8 | return YAML.load(ERB.new(File.read(filepath)).result) 9 | end 10 | 11 | def dump(filepath, structure) 12 | File.open(filepath, 'w') do |output| 13 | YAML.dump(structure, output) 14 | end 15 | end 16 | 17 | end 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/beep/README.md: -------------------------------------------------------------------------------- 1 | ceedling-beep 2 | ============= 3 | 4 | This is a simple plugin that just beeps at the end of a build and/or test sequence. Are you getting too distracted surfing 5 | the internet, chatting with coworkers, or swordfighting while it's building or testing? The friendly beep will let you know 6 | it's time to pay attention again. 7 | 8 | This plugin has very few configuration options. At this time it can beep on completion of a task and/or on an error condition. 9 | For each of these, you can configure the method that it should beep. 10 | 11 | ``` 12 | :tools: 13 | :beep_on_done: :bell 14 | :beep_on_error: :bell 15 | ``` 16 | 17 | Each of these have the following options: 18 | 19 | - :bell - this option uses the ASCII bell character out stdout 20 | - :speaker_test - this uses the linux speaker-test command if installed 21 | 22 | Very likely, we'll be adding to this list if people find this to be useful. 23 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/beep/lib/beep.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/plugin' 2 | require 'ceedling/constants' 3 | 4 | class Beep < Plugin 5 | 6 | attr_reader :config 7 | 8 | def setup 9 | @config = { 10 | :on_done => ((defined? TOOLS_BEEP_ON_DONE) ? TOOLS_BEEP_ON_DONE : :bell ), 11 | :on_error => ((defined? TOOLS_BEEP_ON_ERROR) ? TOOLS_BEEP_ON_ERROR : :bell ), 12 | } 13 | end 14 | 15 | def post_build 16 | beep @config[:on_done] 17 | end 18 | 19 | def post_error 20 | beep @config[:on_error] 21 | end 22 | 23 | private 24 | 25 | def beep(method = :none) 26 | case method 27 | when :bell 28 | if (SystemWrapper.windows?) 29 | puts "echo '\007'" 30 | else 31 | puts "echo -ne '\007'" 32 | end 33 | when :speaker_test 34 | `speaker-test -t sine -f 1000 -l 1` 35 | else 36 | #do nothing with illegal or :none 37 | end 38 | end 39 | end 40 | 41 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/bullseye/assets/template.erb: -------------------------------------------------------------------------------- 1 | % function_string = hash[:coverage][:functions].to_s 2 | % branch_string = hash[:coverage][:branches].to_s 3 | % format_string = "%#{[function_string.length, branch_string.length].max}i" 4 | <%=@ceedling[:plugin_reportinator].generate_banner("#{hash[:header]}: CODE COVERAGE SUMMARY")%> 5 | % if (!hash[:coverage][:functions].nil?) 6 | FUNCTIONS: <%=sprintf(format_string, hash[:coverage][:functions])%>% 7 | % else 8 | FUNCTIONS: none 9 | % end 10 | % if (!hash[:coverage][:branches].nil?) 11 | BRANCHES: <%=sprintf(format_string, hash[:coverage][:branches])%>% 12 | % else 13 | BRANCHES: none 14 | % end 15 | 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/bullseye/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/bullseye/readme.txt -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/colour_report/lib/colour_report.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/plugin' 2 | require 'ceedling/streaminator' 3 | require 'ceedling/constants' 4 | 5 | class ColourReport < Plugin 6 | 7 | def setup 8 | @ceedling[:stream_wrapper].stdout_override(&ColourReport.method(:colour_stdout)) 9 | end 10 | 11 | def self.colour_stdout(string) 12 | require 'colour_reporter.rb' 13 | report string 14 | end 15 | 16 | end 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/Rakefile: -------------------------------------------------------------------------------- 1 | require 'rake' 2 | require 'rspec/core/rake_task' 3 | 4 | desc "Run all rspecs" 5 | RSpec::Core::RakeTask.new(:spec) do |t| 6 | t.pattern = Dir.glob('spec/**/*_spec.rb') 7 | t.rspec_opts = '--format documentation' 8 | # t.rspec_opts << ' more options' 9 | end 10 | 11 | desc "Run integration test on example" 12 | task :integration_test do 13 | chdir("./examples/fff_example") do 14 | sh "rake clobber" 15 | sh "rake test:all" 16 | end 17 | end 18 | 19 | task :default => [:spec, :integration_test] -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/rakefile.rb: -------------------------------------------------------------------------------- 1 | # This change from the default is for running Ceedling out of another folder. 2 | PROJECT_CEEDLING_ROOT = "../../../.." 3 | load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling.rb" 4 | 5 | Ceedling.load_project 6 | 7 | task :default => %w[ test:all release ] 8 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/bar.c: -------------------------------------------------------------------------------- 1 | #include "bar.h" 2 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/bar.h: -------------------------------------------------------------------------------- 1 | #ifndef bar_H 2 | #define bar_H 3 | 4 | #include "custom_types.h" 5 | 6 | void bar_turn_on(void); 7 | void bar_print_message(const char * message); 8 | void bar_print_message_formatted(const char * format, ...); 9 | void bar_numbers(int one, int two, char three); 10 | void bar_const_test(const char * a, char * const b, const int c); 11 | custom_t bar_needs_custom_type(void); 12 | const char * bar_return_const_ptr(int one); 13 | 14 | #endif // bar_H 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/custom_types.h: -------------------------------------------------------------------------------- 1 | #ifndef custom_types_H 2 | #define custom_types_H 3 | 4 | typedef int custom_t; 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/display.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "display.h" 3 | 4 | void display_turnOffStatusLed(void) 5 | { 6 | printf("Display: Status LED off"); 7 | } -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/display.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void display_turnOffStatusLed(void); 4 | void display_turnOnStatusLed(void); 5 | void display_setVolume(int level); 6 | void display_setModeToMinimum(void); 7 | void display_setModeToMaximum(void); 8 | void display_setModeToAverage(void); 9 | bool display_isError(void); 10 | void display_powerDown(void); 11 | void display_updateData(int data, void(*updateCompleteCallback)(void)); 12 | 13 | /* 14 | The entry is returned (up to `length` bytes) in the provided `entry` buffer. 15 | */ 16 | void display_getKeyboardEntry(char * entry, int length); 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/event_processor.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void event_deviceReset(void); 4 | void event_volumeKnobMaxed(void); 5 | void event_powerReadingUpdate(int powerReading); 6 | void event_modeSelectButtonPressed(void); 7 | void event_devicePoweredOn(void); 8 | void event_keyboardCheckTimerExpired(void); 9 | void event_newDataAvailable(int data); 10 | 11 | bool eventProcessor_isLastEventComplete(void); 12 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/foo.c: -------------------------------------------------------------------------------- 1 | #include "foo.h" 2 | #include "bar.h" 3 | #include "subfolder/zzz.h" 4 | 5 | void foo_turn_on(void) { 6 | bar_turn_on(); 7 | zzz_sleep(1, "sleepy"); 8 | } 9 | 10 | void foo_print_message(const char * message) { 11 | bar_print_message(message); 12 | } 13 | 14 | void foo_print_special_message(void) { 15 | bar_print_message_formatted("The numbers are %d, %d and %d", 1, 2, 3); 16 | } 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/foo.h: -------------------------------------------------------------------------------- 1 | #ifndef foo_H 2 | #define foo_H 3 | 4 | void foo_turn_on(void); 5 | void foo_print_message(const char * message); 6 | void foo_print_special_message(void); 7 | 8 | #endif // foo_H 9 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c: -------------------------------------------------------------------------------- 1 | #include "zzz.h" 2 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h: -------------------------------------------------------------------------------- 1 | #ifndef zzz_H 2 | #define zzz_H 3 | 4 | int zzz_sleep(int time, char * name); 5 | 6 | #endif // zzz_H 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/examples/fff_example/test/test_foo.c: -------------------------------------------------------------------------------- 1 | #include "unity.h" 2 | #include "foo.h" 3 | #include "mock_bar.h" 4 | #include "mock_zzz.h" 5 | 6 | void setUp(void) 7 | { 8 | } 9 | 10 | void tearDown(void) 11 | { 12 | } 13 | 14 | void test_foo(void) 15 | { 16 | //When 17 | foo_turn_on(); 18 | 19 | //Then 20 | TEST_ASSERT_EQUAL(1, bar_turn_on_fake.call_count); 21 | TEST_ASSERT_EQUAL(1, zzz_sleep_fake.call_count); 22 | TEST_ASSERT_EQUAL_STRING("sleepy", zzz_sleep_fake.arg1_val); 23 | } 24 | 25 | void test_foo_again(void) 26 | { 27 | //When 28 | foo_turn_on(); 29 | 30 | //Then 31 | TEST_ASSERT_EQUAL(1, bar_turn_on_fake.call_count); 32 | } 33 | 34 | void test_foo_mock_with_const(void) 35 | { 36 | foo_print_message("123"); 37 | 38 | TEST_ASSERT_EQUAL(1, bar_print_message_fake.call_count); 39 | TEST_ASSERT_EQUAL_STRING("123", bar_print_message_fake.arg0_val); 40 | } 41 | 42 | void test_foo_mock_with_variable_args(void) 43 | { 44 | foo_print_special_message(); 45 | TEST_ASSERT_EQUAL(1, bar_print_message_formatted_fake.call_count); 46 | TEST_ASSERT_EQUAL_STRING("The numbers are %d, %d and %d", bar_print_message_formatted_fake.arg0_val); 47 | } 48 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/fake_function_framework/src/fff_unity_helper.h: -------------------------------------------------------------------------------- 1 | #ifndef fff_unity_helper_H 2 | #define fff_unity_helper_H 3 | 4 | /* 5 | FFF helper macros for Unity. 6 | */ 7 | 8 | /* 9 | Fail if the function was not called the expected number of times. 10 | */ 11 | #define TEST_ASSERT_CALLED_TIMES(times_, function_) \ 12 | TEST_ASSERT_EQUAL_MESSAGE(times_, \ 13 | function_ ## _fake.call_count, \ 14 | "Function " #function_ " called the incorrect number of times.") 15 | /* 16 | Fail if the function was not called exactly once. 17 | */ 18 | #define TEST_ASSERT_CALLED(function_) TEST_ASSERT_CALLED_TIMES(1, function_) 19 | 20 | /* 21 | Fail if the function was called 1 or more times. 22 | */ 23 | #define TEST_ASSERT_NOT_CALLED(function_) TEST_ASSERT_CALLED_TIMES(0, function_) 24 | 25 | /* 26 | Fail if the function was not called in this particular order. 27 | */ 28 | #define TEST_ASSERT_CALLED_IN_ORDER(order_, function_) \ 29 | TEST_ASSERT_EQUAL_PTR_MESSAGE((void *) function_, \ 30 | fff.call_history[order_], \ 31 | "Function " #function_ " not called in order " #order_ ) 32 | 33 | #endif -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/gcov/assets/template.erb: -------------------------------------------------------------------------------- 1 | % function_string = hash[:coverage][:functions].to_s 2 | % branch_string = hash[:coverage][:branches].to_s 3 | % format_string = "%#{[function_string.length, branch_string.length].max}i" 4 | <%=@ceedling[:plugin_reportinator].generate_banner("#{GCOV_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY")%> 5 | % if (!hash[:coverage][:functions].nil?) 6 | FUNCTIONS: <%=sprintf(format_string, hash[:coverage][:functions])%>% 7 | % else 8 | FUNCTIONS: none 9 | % end 10 | % if (!hash[:coverage][:branches].nil?) 11 | BRANCHES: <%=sprintf(format_string, hash[:coverage][:branches])%>% 12 | % else 13 | BRANCHES: none 14 | % end 15 | 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/gcov/lib/gcov_constants.rb: -------------------------------------------------------------------------------- 1 | 2 | GCOV_ROOT_NAME = 'gcov'.freeze 3 | GCOV_TASK_ROOT = GCOV_ROOT_NAME + ':' 4 | GCOV_SYM = GCOV_ROOT_NAME.to_sym 5 | 6 | GCOV_BUILD_PATH = File.join(PROJECT_BUILD_ROOT, GCOV_ROOT_NAME) 7 | GCOV_BUILD_OUTPUT_PATH = File.join(GCOV_BUILD_PATH, "out") 8 | GCOV_RESULTS_PATH = File.join(GCOV_BUILD_PATH, "results") 9 | GCOV_DEPENDENCIES_PATH = File.join(GCOV_BUILD_PATH, "dependencies") 10 | GCOV_ARTIFACTS_PATH = File.join(PROJECT_BUILD_ARTIFACTS_ROOT, GCOV_ROOT_NAME) 11 | 12 | GCOV_ARTIFACTS_FILE = File.join(GCOV_ARTIFACTS_PATH, "GcovCoverageResults.html") 13 | GCOV_ARTIFACTS_FILE_XML = File.join(GCOV_ARTIFACTS_PATH, "GcovCoverageResults.xml") 14 | 15 | GCOV_IGNORE_SOURCES = %w(unity cmock cexception).freeze 16 | 17 | GCOV_FILTER_EXCLUDE = '^vendor.*|^build.*|^test.*|^lib.*' 18 | 19 | 20 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/junit_tests_report/README.md: -------------------------------------------------------------------------------- 1 | junit_tests_report 2 | ==================== 3 | 4 | ## Overview 5 | 6 | The junit_tests_report plugin creates an XML file of test results in JUnit 7 | format, which is handy for Continuous Integration build servers or as input 8 | into other reporting tools. The XML file is output to the appropriate 9 | `/artifacts/` directory (e.g. `artifacts/test/` for test tasks, 10 | `artifacts/gcov/` for gcov, or `artifacts/bullseye/` for bullseye runs). 11 | 12 | ## Setup 13 | 14 | Enable the plugin in your project.yml by adding `junit_tests_report` 15 | to the list of enabled plugins. 16 | 17 | ``` YAML 18 | :plugins: 19 | :enabled: 20 | - junit_tests_report 21 | ``` 22 | 23 | ## Configuration 24 | 25 | Optionally configure the output / artifact filename in your project.yml with 26 | the `artifact_filename` configuration option. The default filename is 27 | `report.xml`. 28 | 29 | You can also configure the path that this artifact is stored. This can be done 30 | by setting `path`. The default is that it will be placed in a subfolder under 31 | the `build` directory. 32 | 33 | ``` YAML 34 | :junit_tests_report: 35 | :artifact_filename: report_junit.xml 36 | ``` 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/module_generator/config/module_generator.yml: -------------------------------------------------------------------------------- 1 | :module_generator: 2 | :project_root: ./ 3 | :source_root: src/ 4 | :test_root: test/ -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/raw_output_report/lib/raw_output_report.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/plugin' 2 | require 'ceedling/constants' 3 | 4 | class RawOutputReport < Plugin 5 | def setup 6 | @log_paths = {} 7 | end 8 | 9 | def post_test_fixture_execute(arg_hash) 10 | output = strip_output(arg_hash[:shell_result][:output]) 11 | write_raw_output_log(arg_hash, output) 12 | end 13 | 14 | private 15 | 16 | def strip_output(raw_output) 17 | output = "" 18 | raw_output.each_line do |line| 19 | next if line =~ /^\n$/ 20 | next if line =~ /^.*:\d+:.*:(IGNORE|PASS|FAIL)/ 21 | return output if line =~/^-----------------------\n$/ 22 | output << line 23 | end 24 | end 25 | def write_raw_output_log(arg_hash, output) 26 | logging = generate_log_path(arg_hash) 27 | @ceedling[:file_wrapper].write(logging[:path], output , logging[:flags]) unless logging.nil? 28 | end 29 | 30 | def generate_log_path(arg_hash) 31 | f_name = File.basename(arg_hash[:result_file], '.pass') 32 | base_path = File.join(PROJECT_BUILD_ARTIFACTS_ROOT, arg_hash[:context].to_s) 33 | file_path = File.join(base_path, f_name + '.log') 34 | 35 | if @ceedling[:file_wrapper].exist?(base_path) 36 | return { path: file_path, flags: 'w' } 37 | end 38 | 39 | nil 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | :plugins: 3 | # tell Ceedling we got results display taken care of 4 | :display_raw_test_results: FALSE 5 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/stdout_ide_tests_report/config/stdout_ide_tests_report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | :plugins: 3 | # tell Ceedling we got results display taken care of 4 | :display_raw_test_results: FALSE 5 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb: -------------------------------------------------------------------------------- 1 | require 'ceedling/plugin' 2 | require 'ceedling/defaults' 3 | 4 | class StdoutIdeTestsReport < Plugin 5 | 6 | def setup 7 | @result_list = [] 8 | end 9 | 10 | def post_test_fixture_execute(arg_hash) 11 | return if not (arg_hash[:context] == TEST_SYM) 12 | 13 | @result_list << arg_hash[:result_file] 14 | end 15 | 16 | def post_build 17 | return if (not @ceedling[:task_invoker].test_invoked?) 18 | 19 | results = @ceedling[:plugin_reportinator].assemble_test_results(@result_list) 20 | hash = { 21 | :header => '', 22 | :results => results 23 | } 24 | 25 | @ceedling[:plugin_reportinator].run_test_results_report(hash) do 26 | message = '' 27 | message = 'Unit test failures.' if (hash[:results][:counts][:failed] > 0) 28 | message 29 | end 30 | end 31 | 32 | def summary 33 | result_list = @ceedling[:file_path_utils].form_pass_results_filelist( PROJECT_TEST_RESULTS_PATH, COLLECTION_ALL_TESTS ) 34 | 35 | # get test results for only those tests in our configuration and of those only tests with results on disk 36 | hash = { 37 | :header => '', 38 | :results => @ceedling[:plugin_reportinator].assemble_test_results(result_list, {:boom => false}) 39 | } 40 | 41 | @ceedling[:plugin_reportinator].run_test_results_report(hash) 42 | end 43 | 44 | end 45 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/stdout_pretty_tests_report/config/stdout_pretty_tests_report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | :plugins: 3 | # tell Ceedling we got results display taken care of 4 | :display_raw_test_results: FALSE 5 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/subprojects/config/defaults.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #:extension: 3 | # :subprojects: '.a' 4 | 5 | :subprojects: 6 | :paths: [] 7 | # - :name: subprojectA 8 | # :source: 9 | # - ./first/subproject/dir 10 | # - ./second/subproject/dir 11 | # :include: 12 | # - ./first/include/dir 13 | # :build_root: ./subproject/build/dir 14 | # :defines: 15 | # - FIRST_DEFINE 16 | 17 | :tools: 18 | :subprojects_compiler: 19 | :executable: gcc 20 | :arguments: 21 | - -g 22 | - -I"$": COLLECTION_PATHS_SUBPROJECTS 23 | - -D$: COLLECTION_DEFINES_SUBPROJECTS 24 | - -c "${1}" 25 | - -o "${2}" 26 | :subprojects_linker: 27 | :executable: ar 28 | :arguments: 29 | - rcs 30 | - ${2} 31 | - ${1} 32 | 33 | ... 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/teamcity_tests_report/config/teamcity_tests_report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | :plugins: 3 | # tell Ceedling we got results display taken care of 4 | :display_raw_test_results: FALSE 5 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/plugins/xml_tests_report/README.md: -------------------------------------------------------------------------------- 1 | xml_tests_report 2 | ==================== 3 | 4 | ## Overview 5 | 6 | The xml_tests_report plugin creates an XML file of test results in xUnit 7 | format, which is handy for Continuous Integration build servers or as input 8 | into other reporting tools. The XML file is output to the appropriate 9 | `/artifacts/` directory (e.g. `artifacts/test/` for test tasks, 10 | `artifacts/gcov/` for gcov, or `artifacts/bullseye/` for bullseye runs). 11 | 12 | ## Setup 13 | 14 | Enable the plugin in your project.yml by adding `xml_tests_report` to the list 15 | of enabled plugins. 16 | 17 | ``` YAML 18 | :plugins: 19 | :enabled: 20 | - xml_tests_report 21 | ``` 22 | 23 | ## Configuration 24 | 25 | Optionally configure the output / artifact filename in your project.yml with 26 | the `artifact_filename` configuration option. The default filename is 27 | `report.xml`. 28 | 29 | You can also configure the path that this artifact is stored. This can be done 30 | by setting `path`. The default is that it will be placed in a subfolder under 31 | the `build` directory. 32 | 33 | ``` YAML 34 | :xml_tests_report: 35 | :artifact_filename: report_xunit.xml 36 | ``` 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/c_exception/release/build.info: -------------------------------------------------------------------------------- 1 | 18 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/c_exception/release/version.info: -------------------------------------------------------------------------------- 1 | 1.3.1 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/cmock/config/production_environment.rb: -------------------------------------------------------------------------------- 1 | # ========================================== 2 | # CMock Project - Automatic Mock Generation for C 3 | # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams 4 | # [Released under MIT License. Please refer to license.txt for details] 5 | # ========================================== 6 | 7 | # Setup our load path: 8 | [ 9 | 'lib', 10 | ].each do |dir| 11 | $LOAD_PATH.unshift( File.join( File.expand_path(File.dirname(__FILE__)) + '/../', dir) ) 12 | end 13 | 14 | 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/cmock/config/test_environment.rb: -------------------------------------------------------------------------------- 1 | # ========================================== 2 | # CMock Project - Automatic Mock Generation for C 3 | # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams 4 | # [Released under MIT License. Please refer to license.txt for details] 5 | # ========================================== 6 | 7 | # Setup our load path: 8 | [ 9 | './lib', 10 | './vendor/behaviors/lib', 11 | './vendor/hardmock/lib', 12 | './vendor/unity/auto/', 13 | './test/system/' 14 | ].each do |dir| 15 | $LOAD_PATH.unshift( File.join( File.expand_path(File.dirname(__FILE__) + "/../"), dir) ) 16 | end 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/cmock/release/build.info: -------------------------------------------------------------------------------- 1 | 217 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/cmock/release/version.info: -------------------------------------------------------------------------------- 1 | 2.4.6 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/cmock/src/meson.build: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # # 3 | # NAME: meson.build # 4 | # # 5 | # AUTHOR: Mike Karlesky, Mark VanderVoord, Greg Williams. # 6 | # WRITTEN BY: Michael Brockus. # 7 | # # 8 | # License: MIT # 9 | # # 10 | ################################################################################### 11 | 12 | cmock_dir = include_directories('.') 13 | 14 | cmock_lib = static_library(meson.project_name(), 15 | sources: ['cmock.c'], 16 | dependencies: [unity_dep], 17 | include_directories: cmock_dir) 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/diy/lib/diy/factory.rb: -------------------------------------------------------------------------------- 1 | module DIY #:nodoc:# 2 | class FactoryDef #:nodoc: 3 | attr_accessor :name, :target, :class_name, :library 4 | 5 | def initialize(opts) 6 | @name, @target, @library, @auto_require = 7 | opts[:name], opts[:target], opts[:library], opts[:auto_require] 8 | 9 | @class_name = Infl.camelize(@target) 10 | @library ||= Infl.underscore(@class_name) if @auto_require 11 | end 12 | end 13 | 14 | class Context 15 | def construct_factory(key) 16 | factory_def = @defs[key] 17 | # puts "requiring #{factory_def.library}" 18 | require factory_def.library if factory_def.library 19 | 20 | big_c = get_class_for_name_with_module_delimeters(factory_def.class_name) 21 | 22 | FactoryFactory.new(big_c) 23 | end 24 | end 25 | 26 | class FactoryFactory 27 | def initialize(clazz) 28 | @class_to_create = clazz 29 | end 30 | 31 | def create(*args) 32 | @class_to_create.new(*args) 33 | end 34 | end 35 | end 36 | 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/auto/colour_reporter.rb: -------------------------------------------------------------------------------- 1 | # ========================================== 2 | # Unity Project - A Test Framework for C 3 | # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams 4 | # [Released under MIT License. Please refer to license.txt for details] 5 | # ========================================== 6 | 7 | require_relative 'colour_prompt' 8 | 9 | $colour_output = true 10 | 11 | def report(message) 12 | if !$colour_output 13 | $stdout.puts(message) 14 | else 15 | message = message.join('\n') if message.class == Array 16 | message.each_line do |line| 17 | line.chomp! 18 | colour = case line 19 | when /(?:total\s+)?tests:?\s+(\d+)\s+(?:total\s+)?failures:?\s+\d+\s+Ignored:?/i 20 | Regexp.last_match(1).to_i.zero? ? :green : :red 21 | when /PASS/ 22 | :green 23 | when /^OK$/ 24 | :green 25 | when /(?:FAIL|ERROR)/ 26 | :red 27 | when /IGNORE/ 28 | :yellow 29 | when /^(?:Creating|Compiling|Linking)/ 30 | :white 31 | else 32 | :silver 33 | end 34 | colour_puts(colour, line) 35 | end 36 | end 37 | $stdout.flush 38 | $stderr.flush 39 | end 40 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/auto/generate_config.yml: -------------------------------------------------------------------------------- 1 | #this is a sample configuration file for generate_module 2 | #you would use it by calling generate_module with the -ygenerate_config.yml option 3 | #files like this are useful for customizing generate_module to your environment 4 | :generate_module: 5 | :defaults: 6 | #these defaults are used in place of any missing options at the command line 7 | :path_src: ../src/ 8 | :path_inc: ../src/ 9 | :path_tst: ../test/ 10 | :update_svn: true 11 | :includes: 12 | #use [] for no additional includes, otherwise list the includes on separate lines 13 | :src: 14 | - Defs.h 15 | - Board.h 16 | :inc: [] 17 | :tst: 18 | - Defs.h 19 | - Board.h 20 | - Exception.h 21 | :boilerplates: 22 | #these are inserted at the top of generated files. 23 | #just comment out or remove if not desired. 24 | #use %1$s where you would like the file name to appear (path/extension not included) 25 | :src: | 26 | //------------------------------------------- 27 | // %1$s.c 28 | //------------------------------------------- 29 | :inc: | 30 | //------------------------------------------- 31 | // %1$s.h 32 | //------------------------------------------- 33 | :tst: | 34 | //------------------------------------------- 35 | // Test%1$s.c : Units tests for %1$s.c 36 | //------------------------------------------- 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/auto/run_test.erb: -------------------------------------------------------------------------------- 1 | /*=======Test Runner Used To Run Each Test=====*/ 2 | static void run_test(UnityTestFunction func, const char* name, int line_num) 3 | { 4 | Unity.CurrentTestName = name; 5 | Unity.CurrentTestLineNumber = line_num; 6 | #ifdef UNITY_USE_COMMAND_LINE_ARGS 7 | if (!UnityTestMatches()) 8 | return; 9 | #endif 10 | Unity.NumberOfTests++; 11 | UNITY_CLR_DETAILS(); 12 | UNITY_EXEC_TIME_START(); 13 | CMock_Init(); 14 | if (TEST_PROTECT()) 15 | { 16 | <% if @options[:plugins].include?(:cexception) %> 17 | CEXCEPTION_T e; 18 | Try { 19 | <% end %> 20 | <%= @options[:setup_name] %>(); 21 | func(); 22 | <% if @options[:plugins].include?(:cexception) %> 23 | } Catch(e) { 24 | TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); 25 | } 26 | <% end %> 27 | } 28 | if (TEST_PROTECT()) 29 | { 30 | <%= @options[:teardown_name] %>(); 31 | CMock_Verify(); 32 | } 33 | CMock_Destroy(); 34 | UNITY_EXEC_TIME_STOP(); 35 | UnityConcludeTest(); 36 | } 37 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/auto/test_file_filter.rb: -------------------------------------------------------------------------------- 1 | # ========================================== 2 | # Unity Project - A Test Framework for C 3 | # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams 4 | # [Released under MIT License. Please refer to license.txt for details] 5 | # ========================================== 6 | 7 | require'yaml' 8 | 9 | module RakefileHelpers 10 | class TestFileFilter 11 | def initialize(all_files = false) 12 | @all_files = all_files 13 | 14 | return unless @all_files 15 | return unless File.exist?('test_file_filter.yml') 16 | 17 | filters = YAML.load_file('test_file_filter.yml') 18 | @all_files = filters[:all_files] 19 | @only_files = filters[:only_files] 20 | @exclude_files = filters[:exclude_files] 21 | end 22 | 23 | attr_accessor :all_files, :only_files, :exclude_files 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/auto/type_sanitizer.rb: -------------------------------------------------------------------------------- 1 | module TypeSanitizer 2 | def self.sanitize_c_identifier(unsanitized) 3 | # convert filename to valid C identifier by replacing invalid chars with '_' 4 | unsanitized.gsub(/[-\/\\\.\,\s]/, '_') 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/release/build.info: -------------------------------------------------------------------------------- 1 | 122 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/release/version.info: -------------------------------------------------------------------------------- 1 | 2.4.3 2 | 3 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # # 3 | # NAME: CMakeLists.txt # 4 | # # 5 | # AUTHOR: Mike Karlesky, Mark VanderVoord, Greg Williams. # 6 | # WRITTEN BY: Michael Brockus. # 7 | # # 8 | # License: MIT # 9 | # # 10 | ################################################################################### 11 | cmake_minimum_required(VERSION 3.0 FATAL_ERROR) 12 | 13 | 14 | add_library(unity STATIC "unity.c") 15 | 16 | install(TARGETS unity EXPORT unityConfig 17 | ARCHIVE DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_INSTALL_LIBDIR}" 18 | LIBRARY DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_INSTALL_LIBDIR}" 19 | RUNTIME DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_INSTALL_BINDIR}" 20 | INCLUDES DESTINATION "${CMAKE_INSTALL_LIBDIR}") 21 | 22 | 23 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/test/vendor/ceedling/vendor/unity/src/meson.build: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # # 3 | # NAME: meson.build # 4 | # # 5 | # AUTHOR: Mike Karlesky, Mark VanderVoord, Greg Williams. # 6 | # WRITTEN BY: Michael Brockus. # 7 | # # 8 | # License: MIT # 9 | # # 10 | ################################################################################### 11 | 12 | unity_dir = include_directories('.') 13 | 14 | unity_lib = static_library(meson.project_name(), 15 | sources: ['unity.c'], 16 | include_directories: unity_dir) 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/tools/top.mk: -------------------------------------------------------------------------------- 1 | ifneq ($(lastword a b),b) 2 | $(error This Makefile require make 3.81 or newer) 3 | endif 4 | 5 | # Set TOP to be the path to get from the current directory (where make was 6 | # invoked) to the top of the tree. $(lastword $(MAKEFILE_LIST)) returns 7 | # the name of this makefile relative to where make was invoked. 8 | 9 | THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST)) 10 | TOP := $(patsubst %/tools/top.mk,%,$(THIS_MAKEFILE)) 11 | 12 | TOP := $(shell realpath $(TOP)) 13 | 14 | #$(info Top directory is $(TOP)) 15 | 16 | CURRENT_PATH := $(shell realpath --relative-to=$(TOP) `pwd`) 17 | #$(info Path from top is $(CURRENT_PATH)) 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/tools/usb_drivers/99-tinyusb.rules: -------------------------------------------------------------------------------- 1 | # Copy this file to the location of your distribution's udev rules, for example on Ubuntu: 2 | # sudo cp 99-tinyusb.rules /etc/udev/rules.d/ 3 | # Then reload udev configuration by executing: 4 | # sudo udevadm control --reload-rules 5 | # sudo udevadm trigger 6 | 7 | # Check SUBSYSTEM 8 | SUBSYSTEMS=="hidraw", KERNEL=="hidraw*", MODE="0666", GROUP="dialout" 9 | 10 | # Rule applies to all TinyUSB example 11 | ATTRS{idVendor}=="cafe", MODE="0666", GROUP="dialout" 12 | 13 | # Rule to blacklist TinyUSB example from being manipulated by ModemManager. 14 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="cafe", ENV{ID_MM_DEVICE_IGNORE}="1" 15 | 16 | # Xplained Pro SamG55 Device 17 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2111", MODE="0666", GROUP="users", ENV{ID_MM_DEVICE_IGNORE}="1" 18 | SUBSYSTEMS=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2111", MODE="0666", GROUP="users", ENV{ID_MM_DEVICE_IGNORE}="1" 19 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/components/tinyusb/tinyusb/version.yml: -------------------------------------------------------------------------------- 1 | # Newt uses this file to determine the version of a checked out repo. 2 | # This should always be 0.0.0 in the master branch. 3 | repo.version: 0.0.0 4 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(ili9340) 7 | 8 | # Create a SPIFFS image from the contents of the 'font' directory 9 | # that fits the partition named 'storage'. FLASH_IN_PROJECT indicates that 10 | # the generated image should be flashed when the entire project is flashed to 11 | # the target with 'idf.py -p PORT flash 12 | #spiffs_create_partition_image(storage font FLASH_IN_PROJECT) 13 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 nopnop2002 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := ili9340 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | 10 | # Create a SPIFFS image from the contents of the 'spiffs_image' directory 11 | # that fits the partition named 'storage'. FLASH_IN_PROJECT indicates that 12 | # the generated image should be flashed when the entire project is flashed to 13 | # the target with 'make flash'. 14 | SPIFFS_IMAGE_FLASH_IN_PROJECT := 1 15 | $(eval $(call spiffs_create_partition_image,storage,font)) 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(srcs "main.c" 2 | "ili9340.c" 3 | "decode_jpeg.c" 4 | "tjpgd.c" "logo.c" 5 | ) 6 | 7 | # tjpgd library does not exist in ESP32-S2 ROM. 8 | if(IDF_TARGET STREQUAL "esp32") 9 | list(APPEND srcs "decode_jpeg.c") 10 | endif() 11 | 12 | if(IDF_TARGET STREQUAL "esp32c3") 13 | list(APPEND srcs "decode_jpeg.c") 14 | endif() 15 | 16 | idf_component_register(SRCS ${srcs} 17 | INCLUDE_DIRS ".") 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # "main" pseudo-component makefile. 3 | # 4 | # (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) 5 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/main/decode_jpeg.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "esp_err.h" 4 | 5 | #if 0 6 | typedef struct __attribute__((__packed__)) { 7 | uint8_t red; 8 | uint8_t green; 9 | uint8_t blue; 10 | } pixel_jpeg; 11 | #endif 12 | 13 | //rgb565 format 14 | typedef uint16_t pixel_jpeg; 15 | 16 | /** 17 | * @brief Decode the jpeg ``image.jpg`` embedded into the program file into pixel data. 18 | * 19 | * 20 | * Effectively, you can get the pixel data by doing ``decode_jpeg(&myPixels); pixelval=myPixels[ypos][xpos];`` 21 | * @return - ESP_ERR_NOT_SUPPORTED if image is malformed or a progressive jpeg file 22 | * - ESP_ERR_NO_MEM if out of memory 23 | * - ESP_OK on succesful decode 24 | */ 25 | 26 | esp_err_t decode_jpeg(uint16_t * imageWidth, uint16_t * imageHeight); 27 | 28 | 29 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/main/log.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef __LOG_H__ 4 | #define __LOG_H__ 5 | 6 | #define LOGD(fmt,args...) do {;}while(0) 7 | 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/main/tjpgdcnf.h: -------------------------------------------------------------------------------- 1 | /*----------------------------------------------*/ 2 | /* TJpgDec System Configurations R0.03 */ 3 | /*----------------------------------------------*/ 4 | 5 | #define JD_SZBUF 1024 6 | /* Specifies size of stream input buffer */ 7 | 8 | #define JD_FORMAT 0 9 | /* Specifies output pixel format. 10 | / 0: RGB888 (24-bit/pix) 11 | / 1: RGB565 (16-bit/pix) 12 | / 2: Grayscale (8-bit/pix) 13 | */ 14 | 15 | #define JD_USE_SCALE 0 16 | /* Switches output descaling feature. 17 | / 0: Disable 18 | / 1: Enable 19 | */ 20 | 21 | #define JD_TBLCLIP 1 22 | /* Use table conversion for saturation arithmetic. A bit faster, but increases 1 KB of code size. 23 | / 0: Disable 24 | / 1: Enable 25 | */ 26 | 27 | #define JD_FASTDECODE 2 28 | /* Optimization level 29 | / 0: Basic optimization. Suitable for 8/16-bit MCUs. 30 | / 1: + 32-bit barrel shifter. Suitable for 32-bit MCUs. 31 | / 2: + Table conversion for huffman decoding (wants 6 << HUFF_BIT bytes of RAM) 32 | */ 33 | 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 1M, 6 | storage, data, spiffs, , 0xF0000, 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf-esp32s2_usbdisp_firmware/esp32s2_usbdisp_firmware/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # 2 | # Partition Table 3 | # 4 | CONFIG_PARTITION_TABLE_CUSTOM=y 5 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 6 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 7 | 8 | # 9 | # ESP32-specific 10 | # 11 | CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y 12 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 13 | 14 | # Disable WatchDog 15 | CONFIG_ESP_INT_WDT=n 16 | CONFIG_INT_WDT=n 17 | CONFIG_TASK_WDT=n 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following five lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | add_compile_options(-Wno-ignored-qualifiers) 7 | project(usb_touch_screen) 8 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/.component_hash: -------------------------------------------------------------------------------- 1 | 7c07831bbf11d15f84f42dc0e127094c78063b03d0dce688495773656f998d2b -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## v0.5.1 4 | 5 | ### Bug Fixes 6 | 7 | - Fix memory leakage on jpeg_enc_open fail 8 | - Fix memory allocation fail when dram is insufficient 9 | 10 | ## v0.5.0 11 | 12 | ### Features 13 | 14 | - Initial version of `esp_new_jpeg` 15 | - Add JPEG encoder and decoder library 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(public_include_dirs "./include") 2 | 3 | idf_component_register(INCLUDE_DIRS "${public_include_dirs}") 4 | 5 | add_prebuilt_library(esp_new_jpeg "${CMAKE_CURRENT_SOURCE_DIR}/lib/${CONFIG_IDF_TARGET}/libesp_new_jpeg.a") 6 | target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--start-group" esp_new_jpeg "-Wl,--end-group") 7 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/LICENSE: -------------------------------------------------------------------------------- 1 | ESPRESSIF MIT License 2 | 3 | Copyright (c) 2024 4 | 5 | Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in which case, 6 | it is free of charge, to any person obtaining a copy of this software and associated 7 | documentation files (the "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all copies or 13 | substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/idf_component.yml: -------------------------------------------------------------------------------- 1 | description: Espressif JPEG encoder and decoder 2 | issues: https://github.com/espressif/esp-adf/issues 3 | repository: git://github.com/espressif/esp-adf-libs.git 4 | repository_info: 5 | commit_sha: 891d0b0fe7a04ddf5ddbffc93bd828ce58cc942e 6 | path: esp_new_jpeg 7 | targets: 8 | - esp32 9 | - esp32s2 10 | - esp32s3 11 | - esp32p4 12 | - esp32c2 13 | - esp32c3 14 | - esp32c5 15 | - esp32c6 16 | url: https://github.com/espressif/esp-adf-libs/tree/master/esp_new_jpeg 17 | version: 0.5.1 18 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32p4/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32p4/libesp_new_jpeg.a -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32s2/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32s2/libesp_new_jpeg.a -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32s3/libesp_new_jpeg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/lib/esp32s3/libesp_new_jpeg.a -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This is the project CMakeLists.txt file for the test subproject 2 | cmake_minimum_required(VERSION 3.5) 3 | 4 | # Include the components directory of the main application: 5 | set(EXTRA_COMPONENT_DIRS "../") 6 | 7 | add_compile_options(-fdiagnostics-color=always) 8 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 9 | project(test_app) 10 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/dependencies.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | idf: 3 | source: 4 | type: idf 5 | version: 5.3.1 6 | direct_dependencies: 7 | - idf 8 | manifest_hash: 19fc98193414bc20269777eda16bfa93daca1868a1caba8ce9ef3a6fa0732109 9 | target: esp32s2 10 | version: 2.0.0 11 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(src_dirs "./") 2 | 3 | set(public_include_dirs "./") 4 | 5 | set(priv_requires unity 6 | esp_new_jpeg 7 | fatfs) 8 | 9 | idf_component_register(SRC_DIRS "${src_dirs}" 10 | INCLUDE_DIRS "${public_include_dirs}" 11 | PRIV_REQUIRES "${priv_requires}" 12 | WHOLE_ARCHIVE) 13 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | idf: 3 | version: '>=5.0' 4 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/main/test_app_main.c: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Espressif Systems (Shanghai) CO., LTD. 2 | // All rights reserved. 3 | 4 | #include "unity.h" 5 | #include "unity_test_runner.h" 6 | #include "unity_test_utils_memory.h" 7 | 8 | #define TEST_MEMORY_LEAK_THRESHOLD (500) 9 | 10 | void setUp(void) 11 | { 12 | unity_utils_record_free_mem(); 13 | } 14 | 15 | void tearDown(void) 16 | { 17 | unity_utils_evaluate_leaks_direct(TEST_MEMORY_LEAK_THRESHOLD); 18 | } 19 | 20 | void app_main() 21 | { 22 | // _____ _____ ____ _____ _ ____ _____ ____ 23 | // |_ _| ____/ ___|_ _| | | _ \| ____/ ___| 24 | // | | | _| \___ \ | | _ | | |_) | _|| | _ 25 | // | | | |___ ___) || | | |_| | __/| |__| |_| | 26 | // |_| |_____|____/ |_| \___/|_| |_____\____| 27 | 28 | printf(" _____ _____ ____ _____ _ ____ _____ ____ \n"); 29 | printf("|_ _| ____/ ___|_ _| | | _ \\| ____/ ___|\n"); 30 | printf(" | | | _| \\___ \\ | | _ | | |_) | _|| | _ \n"); 31 | printf(" | | | |___ ___) || | | |_| | __/| |__| |_| |\n"); 32 | printf(" |_| |_____|____/ |_| \\___/|_| |_____\\____|\n"); 33 | 34 | unity_run_menu(); 35 | } 36 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/main/test_encoder.h: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Espressif Systems (Shanghai) CO., LTD. 2 | // All rights reserved. 3 | 4 | #pragma once 5 | 6 | #include "esp_jpeg_common.h" 7 | #include "esp_jpeg_enc.h" 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif /* __cplusplus */ 12 | 13 | /** 14 | * @brief Encode a single picture 15 | * 16 | * @return 17 | * - JPEG_ERR_OK Succeeded 18 | * - Others Failed 19 | */ 20 | jpeg_error_t esp_jpeg_encode_one_picture(void); 21 | 22 | /** 23 | * @brief Encode a single picture with block encoder API 24 | * 25 | * @return 26 | * - JPEG_ERR_OK Succeeded 27 | * - Others Failed 28 | */ 29 | jpeg_error_t esp_jpeg_encode_one_picture_block(void); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif /* __cplusplus */ 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/pytest_esp_new_jpeg.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD 2 | # SPDX-License-Identifier: CC0-1.0 3 | 4 | import pytest 5 | from pytest_embedded import Dut 6 | 7 | @pytest.mark.esp32 8 | @pytest.mark.esp32s2 9 | @pytest.mark.esp32s3 10 | @pytest.mark.esp32p4 11 | @pytest.mark.esp32c2 12 | @pytest.mark.esp32c3 13 | @pytest.mark.esp32c5 14 | @pytest.mark.esp32c6 15 | def test_esp_system(dut: Dut) -> None: 16 | dut.run_all_single_board_cases() 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # 2 | # ESP System Settings 3 | # 4 | CONFIG_ESP_TASK_WDT_EN=n 5 | 6 | # 7 | # FreeRTOS 8 | # 9 | CONFIG_FREERTOS_HZ=1000 10 | CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y 11 | 12 | # 13 | # SPI RAM config 14 | # 15 | CONFIG_SPIRAM=y 16 | CONFIG_SPIRAM_BOOT_INIT=y 17 | 18 | # 19 | # FAT Filesystem support 20 | # 21 | CONFIG_FATFS_CODEPAGE_936=y 22 | CONFIG_FATFS_LFN_HEAP=y 23 | CONFIG_FATFS_MAX_LFN=255 24 | CONFIG_FATFS_FS_LOCK=5 25 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/espressif__esp_new_jpeg/test_app/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # 2 | # ESP32S3-Specific 3 | # 4 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y 5 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 6 | CONFIG_ESP32S3_SPIRAM_SUPPORT=y 7 | 8 | # 9 | # SPI RAM config 10 | # 11 | CONFIG_ESP32S3_SPIRAM_SUPPORT=y 12 | CONFIG_SPIRAM_MODE_OCT=y 13 | CONFIG_SPIRAM_TYPE_AUTO=y 14 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/.component_hash: -------------------------------------------------------------------------------- 1 | f8a386b696474c2b20482b662319200e4a2ce9cae8fa3ae7830d3929f03780c8 -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # ChangeLog 2 | 3 | ## v0.16.0~6 - 2024-07-31 4 | 5 | * Fixed define for DWC_EP_MAX value(dwc2_esp32) 6 | 7 | ## v0.16.0~5 - 2024-06-19 8 | 9 | * Support source code only mode. enable `TINYUSB_SOURCE_CODE_ONLY` (disable by default) to not build as static library. This is useful for projects that want to include tinyusb source code directly in their project. 10 | 11 | ## v0.16.0~4 - 2024-05-09 12 | 13 | * Temporary merge https://github.com/hathach/tinyusb/pull/2656 for uvc frame based 14 | 15 | ## v0.16.0~3 - 2024-05-09 16 | 17 | * Temporary merge https://github.com/hathach/tinyusb/pull/2328 for uac 18 | 19 | ## v0.16.0~2 - 2024-03-07 20 | 21 | * Add build Workflow 22 | * Support ESP32-P4 23 | * Rebase upstream latest 24 | 25 | ## v0.15.0~6 - 2023-07-21 26 | 27 | * Fix UVC Header EOH for compatibility 28 | 29 | ## v0.15.0~5 - 2023-07-19 30 | 31 | * Rebase upstream latest master [acfaa4494f](https://github.com/hathach/tinyusb/commit/acfaa4494faccd615475e4ae9d3df940ed13d7af) 32 | * Using new versioning scheme 33 | 34 | ## v0.0.4 - 2023-06-21 35 | 36 | * Remove dependency `main`, please check README.md `Develop Guide` for details. 37 | 38 | ## v0.0.3 - 2023-06-21 39 | 40 | * Rebase upstream latest master [6cf735031f3](https://github.com/hathach/tinyusb/commit/6cf735031f35cd223231b7f94b8c3caa8286cb9e) -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/Kconfig: -------------------------------------------------------------------------------- 1 | menu "TinyUSB soucre" 2 | 3 | config TINYUSB_SOURCE_CODE_ONLY 4 | bool "Using tinyusb source code only" 5 | default n 6 | help 7 | "Select if you just use the source code, not build as a library" 8 | config USING_SYNOPSYS_DWC2_DRIVER 9 | bool "Using synopsys dwc2 driver, otherwise using esp32sx dcd driver" 10 | default y 11 | help 12 | "For esp32sx, user can choose esp32sx dcd driver or common synopsys dwc2 driver" 13 | 14 | endmenu -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018, hathach (tinyusb.org) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/idf_component.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | idf: 3 | version: '>=4.4' 4 | description: TinyUSB Core code as ESP-IDF component 5 | files: 6 | exclude: 7 | - .codespellrc 8 | - .gitattributes 9 | - .github/**/* 10 | - .gitignore 11 | - .idea/**/* 12 | - .pre-commit-config.yaml 13 | - .readthedocs.yaml 14 | - README.rst 15 | - docs/**/* 16 | - examples/**/* 17 | - hw/**/* 18 | - lib/**/* 19 | - library.json 20 | - pkg.yml 21 | - repository.yml 22 | - test/**/* 23 | - tools/**/* 24 | - version.yml 25 | repository: git://github.com/leeebo/tinyusb_src.git 26 | repository_info: 27 | commit_sha: 5093ba54aa1c66ff2469da514869928320da3acc 28 | path: . 29 | targets: 30 | - esp32s2 31 | - esp32s3 32 | - esp32p4 33 | url: https://github.com/leeebo/tinyusb_src 34 | version: 0.16.0~6 35 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/components/leeebo__tinyusb_src/src/tinyusb.mk: -------------------------------------------------------------------------------- 1 | # C source files 2 | TINYUSB_SRC_C += \ 3 | src/tusb.c \ 4 | src/common/tusb_fifo.c \ 5 | src/device/usbd.c \ 6 | src/device/usbd_control.c \ 7 | src/typec/usbc.c \ 8 | src/class/audio/audio_device.c \ 9 | src/class/cdc/cdc_device.c \ 10 | src/class/dfu/dfu_device.c \ 11 | src/class/dfu/dfu_rt_device.c \ 12 | src/class/hid/hid_device.c \ 13 | src/class/midi/midi_device.c \ 14 | src/class/msc/msc_device.c \ 15 | src/class/net/ecm_rndis_device.c \ 16 | src/class/net/ncm_device.c \ 17 | src/class/usbtmc/usbtmc_device.c \ 18 | src/class/video/video_device.c \ 19 | src/class/vendor/vendor_device.c \ 20 | src/host/usbh.c \ 21 | src/host/hub.c \ 22 | src/class/cdc/cdc_host.c \ 23 | src/class/hid/hid_host.c \ 24 | src/class/msc/msc_host.c \ 25 | src/class/vendor/vendor_host.c \ 26 | src/typec/usbc.c \ 27 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/dependencies.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | espressif/esp_new_jpeg: 3 | dependencies: [] 4 | source: 5 | path: /home/taiji/esp_ws/esp_sparkbot/example/udisp_sd2/components/espressif__esp_new_jpeg 6 | type: local 7 | version: 0.5.1 8 | idf: 9 | source: 10 | type: idf 11 | version: 5.3.1 12 | leeebo/tinyusb_src: 13 | dependencies: [] 14 | source: 15 | path: /home/taiji/esp_ws/esp_sparkbot/example/udisp_sd2/components/leeebo__tinyusb_src 16 | type: local 17 | version: 0.16.0~6 18 | direct_dependencies: 19 | - espressif/esp_new_jpeg 20 | - idf 21 | - leeebo/tinyusb_src 22 | manifest_hash: 2fbb8454627b3abdd7816062c6c36467da8444b4ade1f250b47dc33acd10a972 23 | target: esp32s3 24 | version: 2.0.0 25 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/.CMakeLists.txt.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/main/.CMakeLists.txt.swp -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(srcs "app_usb.c" "app_vendor.c" "tjpgd.c" "decode_jpeg.c" 2 | "usb_extend_screen.c" "usb_frame.c" "usb_device/usb_descriptors.c") 3 | 4 | if(CONFIG_IDF_TARGET_ESP32S3 OR CONFIG_IDF_TARGET_ESP32S2) 5 | list(APPEND srcs "app_lcd_s3.c") 6 | endif() 7 | 8 | idf_component_register(SRCS ${srcs} 9 | INCLUDE_DIRS "include" "usb_device") 10 | 11 | idf_component_get_property(tusb_lib leeebo__tinyusb_src COMPONENT_LIB) 12 | 13 | cmake_policy(SET CMP0079 NEW) 14 | target_link_libraries(${tusb_lib} PRIVATE ${COMPONENT_LIB}) 15 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-5.15.0-130-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "5.15.0-130-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-5.15.0-130-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "5.15.0-130-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CompilerIdC/a.out -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/3.16.3/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stderr_output_2054: -------------------------------------------------------------------------------- 1 | CMake Warning (dev) in CMakeLists.txt: 2 | No project() command is present. The top-level CMakeLists.txt file must 3 | contain a literal, direct call to the project() command. Add a line of 4 | code such as 5 | 6 | project(ProjectName) 7 | 8 | near the top of the file, but after cmake_minimum_required(). 9 | 10 | CMake is pretending there is a "project(Project)" command on the first 11 | line. 12 | This warning is for project developers. Use -Wno-dev to suppress it. 13 | 14 | CMake Error at CMakeLists.txt:8 (idf_component_register): 15 | Unknown CMake command "idf_component_register". 16 | 17 | 18 | CMake Warning (dev) in CMakeLists.txt: 19 | No cmake_minimum_required command is present. A line of code such as 20 | 21 | cmake_minimum_required(VERSION 3.16) 22 | 23 | should be added at the top of the file. The version specified may be lower 24 | if you wish to support older CMake versions for this project. For more 25 | information run "cmake --help-policy CMP0000". 26 | This warning is for project developers. Use -Wno-dev to suppress it. 27 | 28 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stderr_output_2119: -------------------------------------------------------------------------------- 1 | CMake Warning (dev) in CMakeLists.txt: 2 | No project() command is present. The top-level CMakeLists.txt file must 3 | contain a literal, direct call to the project() command. Add a line of 4 | code such as 5 | 6 | project(ProjectName) 7 | 8 | near the top of the file, but after cmake_minimum_required(). 9 | 10 | CMake is pretending there is a "project(Project)" command on the first 11 | line. 12 | This warning is for project developers. Use -Wno-dev to suppress it. 13 | 14 | CMake Error at CMakeLists.txt:8 (idf_component_register): 15 | Unknown CMake command "idf_component_register". 16 | 17 | 18 | CMake Warning (dev) in CMakeLists.txt: 19 | No cmake_minimum_required command is present. A line of code such as 20 | 21 | cmake_minimum_required(VERSION 3.16) 22 | 23 | should be added at the top of the file. The version specified may be lower 24 | if you wish to support older CMake versions for this project. For more 25 | information run "cmake --help-policy CMP0000". 26 | This warning is for project developers. Use -Wno-dev to suppress it. 27 | 28 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stderr_output_2186: -------------------------------------------------------------------------------- 1 | CMake Warning (dev) in CMakeLists.txt: 2 | No project() command is present. The top-level CMakeLists.txt file must 3 | contain a literal, direct call to the project() command. Add a line of 4 | code such as 5 | 6 | project(ProjectName) 7 | 8 | near the top of the file, but after cmake_minimum_required(). 9 | 10 | CMake is pretending there is a "project(Project)" command on the first 11 | line. 12 | This warning is for project developers. Use -Wno-dev to suppress it. 13 | 14 | CMake Error at CMakeLists.txt:8 (idf_component_register): 15 | Unknown CMake command "idf_component_register". 16 | 17 | 18 | CMake Warning (dev) in CMakeLists.txt: 19 | No cmake_minimum_required command is present. A line of code such as 20 | 21 | cmake_minimum_required(VERSION 3.16) 22 | 23 | should be added at the top of the file. The version specified may be lower 24 | if you wish to support older CMake versions for this project. For more 25 | information run "cmake --help-policy CMP0000". 26 | This warning is for project developers. Use -Wno-dev to suppress it. 27 | 28 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stdout_output_2054: -------------------------------------------------------------------------------- 1 | -- The C compiler identification is GNU 9.4.0 2 | -- The CXX compiler identification is GNU 9.4.0 3 | -- Check for working C compiler: /usr/bin/cc 4 | -- Check for working C compiler: /usr/bin/cc -- works 5 | -- Detecting C compiler ABI info 6 | -- Detecting C compiler ABI info - done 7 | -- Detecting C compile features 8 | -- Detecting C compile features - done 9 | -- Check for working CXX compiler: /usr/bin/c++ 10 | -- Check for working CXX compiler: /usr/bin/c++ -- works 11 | -- Detecting CXX compiler ABI info 12 | -- Detecting CXX compiler ABI info - done 13 | -- Detecting CXX compile features 14 | -- Detecting CXX compile features - done 15 | -- Configuring incomplete, errors occurred! 16 | See also "/home/taiji/esp_ws/udisp_s3_st7789_example/main/build/CMakeFiles/CMakeOutput.log". 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stdout_output_2119: -------------------------------------------------------------------------------- 1 | -- The C compiler identification is GNU 9.4.0 2 | -- The CXX compiler identification is GNU 9.4.0 3 | -- Check for working C compiler: /usr/bin/cc 4 | -- Check for working C compiler: /usr/bin/cc -- works 5 | -- Detecting C compiler ABI info 6 | -- Detecting C compiler ABI info - done 7 | -- Detecting C compile features 8 | -- Detecting C compile features - done 9 | -- Check for working CXX compiler: /usr/bin/c++ 10 | -- Check for working CXX compiler: /usr/bin/c++ -- works 11 | -- Detecting CXX compiler ABI info 12 | -- Detecting CXX compiler ABI info - done 13 | -- Detecting CXX compile features 14 | -- Detecting CXX compile features - done 15 | -- Configuring incomplete, errors occurred! 16 | See also "/home/taiji/esp_ws/udisp_s3_st7789_example/main/build/CMakeFiles/CMakeOutput.log". 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/build/log/idf_py_stdout_output_2186: -------------------------------------------------------------------------------- 1 | -- The C compiler identification is GNU 9.4.0 2 | -- The CXX compiler identification is GNU 9.4.0 3 | -- Check for working C compiler: /usr/bin/cc 4 | -- Check for working C compiler: /usr/bin/cc -- works 5 | -- Detecting C compiler ABI info 6 | -- Detecting C compiler ABI info - done 7 | -- Detecting C compile features 8 | -- Detecting C compile features - done 9 | -- Check for working CXX compiler: /usr/bin/c++ 10 | -- Check for working CXX compiler: /usr/bin/c++ -- works 11 | -- Detecting CXX compiler ABI info 12 | -- Detecting CXX compiler ABI info - done 13 | -- Detecting CXX compile features 14 | -- Detecting CXX compile features - done 15 | -- Configuring incomplete, errors occurred! 16 | See also "/home/taiji/esp_ws/udisp_s3_st7789_example/main/build/CMakeFiles/CMakeOutput.log". 17 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/decode_jpeg.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "esp_err.h" 4 | #include "tjpgd.h" 5 | 6 | #if 0 7 | typedef struct __attribute__((__packed__)) { 8 | uint8_t red; 9 | uint8_t green; 10 | uint8_t blue; 11 | } pixel_jpeg; 12 | #endif 13 | 14 | //rgb565 format 15 | typedef uint16_t pixel_jpeg; 16 | 17 | /** 18 | * @brief Decode the jpeg ``image.jpg`` embedded into the program file into pixel data. 19 | * 20 | * 21 | * Effectively, you can get the pixel data by doing ``decode_jpeg(&myPixels); pixelval=myPixels[ypos][xpos];`` 22 | * @return - ESP_ERR_NOT_SUPPORTED if image is malformed or a progressive jpeg file 23 | * - ESP_ERR_NO_MEM if out of memory 24 | * - ESP_OK on succesful decode 25 | */ 26 | 27 | esp_err_t decode_jpeg(uint16_t * imageWidth, uint16_t * imageHeight); 28 | 29 | 30 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | version: 0.1.0 2 | targets: 3 | - esp32p4 4 | - esp32s3 5 | - esp32s2 6 | dependencies: 7 | idf: ">=5.3" 8 | leeebo/tinyusb_src: 9 | version: "*" 10 | espressif/esp_new_jpeg: 11 | version: "^0.5.0" 12 | rules: 13 | - if: "target in [esp32s3,esp32s2]" 14 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/include/app_lcd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #ifndef ESP_LCD_H 8 | #define ESP_LCD_H 9 | 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/semphr.h" 12 | #include "freertos/task.h" 13 | #include "esp_err.h" 14 | #include "esp_lcd_panel_ops.h" 15 | #include "bsp.h" 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | #define EXAMPLE_LCD_H_RES (BSP_LCD_H_RES) 22 | #define EXAMPLE_LCD_V_RES (BSP_LCD_V_RES) 23 | 24 | #if CONFIG_LCD_PIXEL_FORMAT_RGB565 25 | #define EXAMPLE_LCD_BIT_PER_PIXEL (16) 26 | #elif CONFIG_LCD_PIXEL_FORMAT_RGB888 27 | #define EXAMPLE_LCD_BIT_PER_PIXEL (24) 28 | #endif 29 | 30 | #define EXAMPLE_LCD_BUF_LEN EXAMPLE_LCD_H_RES * EXAMPLE_LCD_V_RES * EXAMPLE_LCD_BIT_PER_PIXEL / 8 31 | 32 | /** 33 | * @brief Initialize the LCD panel. 34 | * 35 | * This function initializes the LCD panel with the provided panel handle. It powers on the LCD, 36 | * installs the LCD driver, configures the bus, and sets up the panel. 37 | * 38 | * @return 39 | * - ESP_OK: Success 40 | * - ESP_FAIL: Failure 41 | */ 42 | esp_err_t app_lcd_init(void); 43 | 44 | void app_lcd_draw(uint8_t *buf, uint32_t len, uint16_t width, uint16_t height); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/include/app_usb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #include 9 | #include "esp_err.h" 10 | #include "tusb.h" 11 | #include "sdkconfig.h" 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | #if CONFIG_IDF_TARGET_ESP32P4 18 | #define JPEG_BUFFER_SIZE (300*1024) 19 | #elif CONFIG_IDF_TARGET_ESP32S3 20 | #define JPEG_BUFFER_SIZE (120 * 1024) 21 | #elif CONFIG_IDF_TARGET_ESP32S2 22 | #define JPEG_BUFFER_SIZE (25 * 1024) 23 | 24 | #endif 25 | 26 | /** 27 | * @brief Initialize tinyusb device. 28 | * 29 | * @return 30 | * - ESP_OK: Success 31 | * - ESP_ERR_NO_MEM: No memory 32 | */ 33 | esp_err_t app_usb_init(void); 34 | 35 | #if CFG_TUD_HID 36 | /** 37 | * @brief Report key press in the keyboard, using array here 38 | * 39 | * @param report hid report data 40 | */ 41 | void tinyusb_hid_keyboard_report(hid_report_t report); 42 | 43 | esp_err_t app_hid_init(void); 44 | #endif 45 | 46 | #if CFG_TUD_VENDOR 47 | esp_err_t app_vendor_init(void); 48 | #endif 49 | 50 | #if CFG_TUD_AUDIO 51 | esp_err_t app_uac_init(void); 52 | #endif 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif 57 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/include/bsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #ifndef ESP_BSP_H 8 | #define ESP_BSP_H 9 | 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/semphr.h" 12 | #include "freertos/task.h" 13 | #include "esp_err.h" 14 | #include "esp_lcd_panel_ops.h" 15 | 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | #define BSP_LCD_H_RES 240 22 | #define BSP_LCD_V_RES 240 23 | 24 | #define BSP_LCD_PIXEL_CLOCK_HZ (40 * 1000 * 1000) 25 | #define BSP_LCD_SPI_NUM (SPI3_HOST) 26 | 27 | /* Display */ 28 | #if CONFIG_IDF_TARGET_ESP32S2 29 | #define BSP_LCD_SPI_MOSI (GPIO_NUM_34) 30 | #define BSP_LCD_SPI_CLK (GPIO_NUM_33) 31 | #define BSP_LCD_SPI_CS (GPIO_NUM_37) 32 | #define BSP_LCD_DC (GPIO_NUM_38) 33 | #define BSP_LCD_RST (GPIO_NUM_1) 34 | #define BSP_LCD_BACKLIGHT (GPIO_NUM_5) 35 | 36 | #else 37 | 38 | #define BSP_LCD_SPI_MOSI (GPIO_NUM_6) 39 | #define BSP_LCD_SPI_CLK (GPIO_NUM_5) 40 | #define BSP_LCD_SPI_CS (GPIO_NUM_7) 41 | #define BSP_LCD_DC (GPIO_NUM_8) 42 | #define BSP_LCD_RST (GPIO_NUM_1) 43 | #define BSP_LCD_BACKLIGHT (GPIO_NUM_4) 44 | #endif 45 | 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/include/usb_frame.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #pragma once 7 | 8 | #include 9 | #include "esp_err.h" 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | typedef struct { 16 | uint16_t width; 17 | uint16_t height; 18 | uint32_t received; 19 | uint32_t total; 20 | } frame_info_t; 21 | 22 | typedef struct { 23 | size_t data_buffer_len; /**< Max data length supported by this frame buffer*/ 24 | size_t data_len; /**< Data length of currently store frame */ 25 | uint8_t *data; /**< Frame data */ 26 | frame_info_t info; 27 | } frame_t; 28 | 29 | esp_err_t frame_allocate(int nb_of_fb, size_t fb_size); 30 | 31 | void frame_reset(frame_t *frame); 32 | 33 | esp_err_t frame_return_empty(frame_t *frame); 34 | 35 | esp_err_t frame_send_filled(frame_t *frame); 36 | 37 | esp_err_t frame_add_data(frame_t *frame, const uint8_t *data, size_t data_len); 38 | 39 | frame_t *frame_get_empty(void); 40 | 41 | frame_t *frame_get_filled(void); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/log.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef __LOG_H__ 4 | #define __LOG_H__ 5 | 6 | #define LOGD(fmt,args...) do {;}while(0) 7 | 8 | //#define LOGD(format, ...) ESP_LOGI(TAG, format, ##__VA_ARGS__) 9 | 10 | #define LOGI(format, ...) ESP_LOGI(TAG, format, ##__VA_ARGS__) 11 | 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/tjpgdcnf.h: -------------------------------------------------------------------------------- 1 | /*----------------------------------------------*/ 2 | /* TJpgDec System Configurations R0.03 */ 3 | /*----------------------------------------------*/ 4 | 5 | #define JD_SZBUF 1024 6 | /* Specifies size of stream input buffer */ 7 | 8 | #define JD_FORMAT 0 9 | /* Specifies output pixel format. 10 | / 0: RGB888 (24-bit/pix) 11 | / 1: RGB565 (16-bit/pix) 12 | / 2: Grayscale (8-bit/pix) 13 | */ 14 | 15 | #define JD_USE_SCALE 0 16 | /* Switches output descaling feature. 17 | / 0: Disable 18 | / 1: Enable 19 | */ 20 | 21 | #define JD_TBLCLIP 1 22 | /* Use table conversion for saturation arithmetic. A bit faster, but increases 1 KB of code size. 23 | / 0: Disable 24 | / 1: Enable 25 | */ 26 | 27 | #define JD_FASTDECODE 2 28 | /* Optimization level 29 | / 0: Basic optimization. Suitable for 8/16-bit MCUs. 30 | / 1: + 32-bit barrel shifter. Suitable for 32-bit MCUs. 31 | / 2: + Table conversion for huffman decoding (wants 6 << HUFF_BIT bytes of RAM) 32 | */ 33 | 34 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/main/usb_extend_screen.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | #include "bsp.h" 9 | #include "app_usb.h" 10 | #include "usb_descriptors.h" 11 | #include "esp_log.h" 12 | #include "app_lcd.h" 13 | #include "log.h" 14 | 15 | 16 | static const char *TAG = "ud"; 17 | 18 | void app_main(void) 19 | { 20 | ESP_LOGI(TAG, "pcj"); 21 | LOGI( "%s %d %d/%d",__func__,__LINE__,heap_caps_get_free_size(MALLOC_CAP_INTERNAL),heap_caps_get_total_size(MALLOC_CAP_INTERNAL)); 22 | 23 | app_usb_init(); 24 | LOGI( "%s %d %d/%d",__func__,__LINE__,heap_caps_get_free_size(MALLOC_CAP_INTERNAL),heap_caps_get_total_size(MALLOC_CAP_INTERNAL)); 25 | 26 | app_lcd_init(); 27 | 28 | /* The ESP-SparkBot does not support touch functionality. 29 | * To enable touch features, consider upgrading to a screen that supports touch input. 30 | */ 31 | // app_touch_init(); 32 | } 33 | -------------------------------------------------------------------------------- /device_porting/esp-idf5.3_udisp_s3_st7789_example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # This file was generated using idf.py save-defconfig. It can be edited manually. 2 | # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Minimal Configuration 3 | # 4 | CONFIG_IDF_TARGET="esp32s3" 5 | CONFIG_ESPTOOLPY_FLASHMODE_QIO=y 6 | CONFIG_ESPTOOLPY_FLASHFREQ_120M=y 7 | CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y 8 | CONFIG_TUSB_PRODUCT="udisp" 9 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 10 | CONFIG_SPIRAM=y 11 | CONFIG_SPIRAM_MODE_OCT=y 12 | CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y 13 | CONFIG_SPIRAM_RODATA=y 14 | CONFIG_SPIRAM_SPEED_120M=y 15 | CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y 16 | CONFIG_ESP_CONSOLE_UART_CUSTOM=y 17 | CONFIG_ESP_CONSOLE_UART_TX_GPIO=38 18 | CONFIG_ESP_CONSOLE_UART_RX_GPIO=48 19 | CONFIG_FREERTOS_HZ=1000 20 | CONFIG_IDF_EXPERIMENTAL_FEATURES=y 21 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/Makefile: -------------------------------------------------------------------------------- 1 | ###################################### 2 | # 3 | # RoboPeak USB LCD Display Linux Driver 4 | # 5 | # Copyright (C) 2009 - 2013 RoboPeak Team 6 | # This file is licensed under the GPL. See LICENSE in the package. 7 | # 8 | # http://www.robopeak.net 9 | # 10 | # Author Shikai Chen 11 | # 12 | ###################################### 13 | 14 | 15 | DRIVER_NAME := xfz_udisp 16 | KERNEL_SOURCE_DIR ?= /lib/modules/`uname -r`/build 17 | 18 | EXTRA_CFLAGS +=-g -I$(PWD)/src -I$(PWD)/../common 19 | 20 | obj-m := $(DRIVER_NAME).o 21 | 22 | DRIVER_FILES := src/main.o \ 23 | src/usb_transfer.o \ 24 | src/fbhandlers.o \ 25 | src/tiny_jpeg.o src/enc_raw_rgb.o src/enc_base.o src/enc_raw_rgb.o src/enc_jpg.o\ 26 | src/test_pattern.o 27 | 28 | $(DRIVER_NAME)-objs:= $(DRIVER_FILES) 29 | 30 | modules: 31 | $(MAKE) -C $(KERNEL_SOURCE_DIR) KCPPFLAGS="$(EXTRA_CFLAGS)" M=$(PWD) modules 32 | 33 | modules_install: 34 | $(MAKE) -C $(KERNEL_SOURCE_DIR) M=$(PWD) modules_install 35 | 36 | install: modules_install 37 | 38 | clean: 39 | $(MAKE) -C $(KERNEL_SOURCE_DIR) M=$(PWD) clean 40 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/enc_base.c: -------------------------------------------------------------------------------- 1 | 2 | #include "inc/base_type.h" 3 | #include "inc/enc_base.h" 4 | #include "inc/log.h" 5 | 6 | 7 | int enc_base_disp_setup_frame_header(uint8_t * msg, int x, int y, int right, int bottom, uint8_t op_flg ,uint32_t total) 8 | { 9 | udisp_frame_header_t * pfh; 10 | 11 | 12 | pfh = (udisp_frame_header_t *)msg; 13 | pfh->type = op_flg; 14 | pfh->crc16 = 0; 15 | pfh->x = cpu_to_le16(x); 16 | pfh->y = cpu_to_le16(y); 17 | pfh->width = cpu_to_le16(right + 1 - x); 18 | pfh->height = cpu_to_le16(bottom + 1 - y); 19 | pfh->payload_total = total; 20 | 21 | LOGD("%s type:%d(%d %d %d %d) %d\n",__func__,pfh->type,pfh->x,pfh->y, pfh->width, 22 | pfh->height,pfh->payload_total); 23 | return sizeof(udisp_frame_header_t); 24 | 25 | } 26 | 27 | int enc_base_enc_header(enc_base_t * this,uint8_t * enc,int x, int y, int right, int bottom, int total_bytes) 28 | { 29 | 30 | enc_base_disp_setup_frame_header(enc, x, y, right, bottom, this->enc_type, total_bytes); 31 | 32 | return 0; 33 | 34 | }; 35 | 36 | 37 | int create_enc_base(enc_base_t * this){ 38 | this->enc_header=enc_base_enc_header; 39 | return 0; 40 | } -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/base_type.h: -------------------------------------------------------------------------------- 1 | #ifndef BASE_TYPE_H 2 | #define BASE_TYPE_H 3 | 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | 22 | 23 | typedef uint8_t _u8; 24 | typedef uint16_t _u16; 25 | typedef uint32_t _u32; 26 | 27 | typedef uint32_t pixel_type_t; 28 | 29 | #endif -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/enc_base.h: -------------------------------------------------------------------------------- 1 | #ifndef ENC_BASE_H 2 | #define ENC_BASE_H 3 | 4 | #define cpu_to_le16(x) (uint16_t)(x) 5 | 6 | #define rgb565(r, g, b) (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3)) 7 | 8 | 9 | #define FB_DISP_DEFAULT_PIXEL_BITS 32 10 | 11 | 12 | #define UDISP_TYPE_RGB565 0 13 | #define UDISP_TYPE_RGB888 1 14 | #define UDISP_TYPE_YUV420 2 15 | #define UDISP_TYPE_JPG 3 16 | 17 | 18 | typedef struct _udisp_frame_header_t { //16bytes 19 | _u16 crc16;//payload crc16 20 | _u8 type; //raw rgb,yuv,jpg,other 21 | _u8 cmd; 22 | _u16 x; //32bit 23 | _u16 y; 24 | _u16 width;//32bit 25 | _u16 height; 26 | _u32 frame_id:10; 27 | _u32 payload_total:22; //payload max 4MB 28 | } udisp_frame_header_t; 29 | 30 | typedef struct enc_base enc_base_t; 31 | 32 | 33 | typedef struct enc_base{ 34 | int (* disp_setup_frame_header_cb)(uint8_t * msg, int x, int y, int right, int bottom, uint8_t op_flg ,uint32_t total); 35 | int (*enc)(enc_base_t * this, uint8_t * enc, uint8_t * src,int x, int y, int right, int bottom, int line_width); 36 | int (*enc_header)(enc_base_t * this,uint8_t * enc,int x, int y, int right, int bottom, int total_bytes); 37 | 38 | uint8_t enc_type; 39 | //sub class 40 | int jpg_quality; 41 | 42 | } enc_base_t; 43 | 44 | int create_enc_base(enc_base_t * this); 45 | 46 | 47 | #endif 48 | 49 | 50 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/enc_jpg.h: -------------------------------------------------------------------------------- 1 | 2 | #include"enc_base.h" 3 | #include"tiny_jpeg.h" 4 | 5 | 6 | int create_enc_jpg(enc_base_t * this,int quality); 7 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/enc_raw_rgb.h: -------------------------------------------------------------------------------- 1 | 2 | int create_enc_rgb565(enc_base_t * this); 3 | 4 | int create_enc_rgb888a(enc_base_t * this); 5 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/fbhandlers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RoboPeak USB LCD Display Linux Driver 3 | * 4 | * Copyright (C) 2009 - 2013 RoboPeak Team 5 | * This file is licensed under the GPL. See LICENSE in the package. 6 | * 7 | * http://www.robopeak.net 8 | * 9 | * Author Shikai Chen 10 | * 11 | * --------------------------------------------------- 12 | * Definition of Frame Buffer Handlers 13 | */ 14 | 15 | #ifndef _RPUSBDISP_FBHANDLERS_H 16 | #define _RPUSBDISP_FBHANDLERS_H 17 | 18 | 19 | int register_fb_handlers(struct xfz1986_udisp_dev * dev); 20 | void unregister_fb_handlers(struct xfz1986_udisp_dev * dev); 21 | 22 | 23 | 24 | 25 | 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/log.h: -------------------------------------------------------------------------------- 1 | #ifndef LOG_H 2 | #define LOG_H 3 | #ifdef __cplusplus 4 | extern "C" 5 | { 6 | #endif 7 | 8 | #define LOG_LEVEL_ERROR 1 9 | #define LOG_LEVEL_WARN 2 10 | #define LOG_LEVEL_INFO 3 11 | #define LOG_LEVEL_MONITOR 4 12 | #define LOG_LEVEL_DEBUG 5 13 | 14 | 15 | //#define LOG(fmt,...) do {;} while(0) 16 | #define _log printk 17 | extern int debug_level; 18 | #define LOGE(fmt,...) do {if(debug_level >= LOG_LEVEL_ERROR) _log(fmt,##__VA_ARGS__); } while(0) 19 | #define LOGW(fmt,...) do {if(debug_level >= LOG_LEVEL_WARN) _log(fmt,##__VA_ARGS__); } while(0) 20 | #define LOGI(fmt,...) do {if(debug_level >= LOG_LEVEL_INFO) _log(fmt,##__VA_ARGS__); } while(0) 21 | #define LOGM(fmt,...) do {if(debug_level >= LOG_LEVEL_MONITOR) _log(fmt,##__VA_ARGS__); } while(0) 22 | #define LOGD(fmt,...) do {if(debug_level >= LOG_LEVEL_DEBUG) _log(fmt,##__VA_ARGS__); } while(0) 23 | #define LOG(fmt,...) do {if(debug_level >= LOG_LEVEL_DEBUG) _log(fmt,##__VA_ARGS__); } while(0) 24 | 25 | 26 | 27 | #ifdef __cplusplus 28 | } // extern C 29 | #endif 30 | 31 | #endif -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/inc/udisp_config.h: -------------------------------------------------------------------------------- 1 | #ifndef _UDISP_CONFIG_H 2 | #define _UDISP_CONFIG_H 3 | 4 | 5 | #define UDISP_DEFAULT_WIDTH 480 6 | #define UDISP_DEFAULT_HEIGHT 480 7 | 8 | 9 | #define UDISP_USB_VENDOR_ID 0x303a 10 | #define UDISP_USB_PRODUCT_ID 0x1986 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/src/test_pattern.c: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include "inc/base_type.h" 4 | 5 | 6 | //pixel_type_t lcd_color_test_pattern[256 * 256] = { 0 }; 7 | 8 | #define TEST_COLOR_RED 0xff 9 | #define TEST_COLOR_GREEN 0xff00 10 | #define TEST_COLOR_BLUE 0xff0000 11 | 12 | void fill_color(pixel_type_t *buf, int len, pixel_type_t color) 13 | { 14 | int i = 0; 15 | for (i = 0; i <= len; i++) { 16 | buf[i] = color; 17 | } 18 | //dump_memory_bytes("-",buf,16); 19 | } 20 | 21 | 22 | void fill_color_bar(pixel_type_t *buf, int len) 23 | { 24 | #if 0 25 | fill_color(buf, len / 3, TEST_COLOR_RED); 26 | #else 27 | fill_color(buf, len / 3, TEST_COLOR_RED); 28 | fill_color(&buf[len / 3], len / 3, TEST_COLOR_GREEN); 29 | fill_color(&buf[(len * 2) / 3], len / 3, TEST_COLOR_BLUE); 30 | #endif 31 | } 32 | 33 | #if 0 34 | void fill_color565(uint16_t *buf, int len, uint16_t color) 35 | { 36 | int i = 0; 37 | for (i = 0; i <= len; i++) { 38 | buf[i] = color; 39 | } 40 | //dump_memory_bytes("-",buf,16); 41 | } 42 | //rgb565 high5 is red low 5bit blue 43 | void fill_color565_bar(uint16_t *buf, int len) 44 | { 45 | #if 0 46 | fill_color565(buf, len / 3, TEST_COLOR_RED); 47 | #else 48 | fill_color565(buf, len / 3, rgb565(0xff, 0, 0)); 49 | fill_color565(&buf[len / 3], len / 3, rgb565(0, 0xff, 0)); 50 | fill_color565(&buf[(len * 2) / 3], len / 3, rgb565(0, 0, 0xff)); 51 | #endif 52 | } 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/xserver_conf/10-xfz1986udisp-ubuntu.conf: -------------------------------------------------------------------------------- 1 | Section "Device" 2 | Identifier "xfz1986udispFB" 3 | Driver "fbdev" 4 | Option "fbdev" "/dev/fb1" 5 | EndSection 6 | 7 | Section "Monitor" 8 | Identifier "xfz1986udispMonitor" 9 | EndSection 10 | 11 | Section "Screen" 12 | Identifier "xfz1986udisp" 13 | Device "xfz1986udispFB" 14 | Monitor "xfz1986udispMonitor" 15 | #DefaultFbBpp 32 16 | SubSection "Display" 17 | Visual "TrueColor" 18 | EndSubSection 19 | EndSection 20 | 21 | 22 | Section "InputClass" 23 | Identifier "xfz1986hidTouch" 24 | MatchDevicePath "/dev/input/event*" 25 | Driver "evdev" 26 | EndSection 27 | 28 | -------------------------------------------------------------------------------- /linux_xfz1986_usb_graphic_driver/xserver_conf/README: -------------------------------------------------------------------------------- 1 | copy the file to /usr/share/X11/xorg.conf.d on Ubuntu system 2 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/.vs/idd_xfz1986_usb_graphic/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/.vs/idd_xfz1986_usb_graphic/v14/.suo -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/exe/testapp.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | #define VER_FILETYPE VFT_DLL 6 | #define VER_FILESUBTYPE VFT2_UNKNOWN 7 | #define VER_FILEDESCRIPTION_STR "UsbSamp Bulk & Isoch Read and Write test App" 8 | #define VER_INTERNALNAME_STR "usbsamp.exe" 9 | #define VER_ORIGINALFILENAME_STR "usbsamp.exe" 10 | 11 | #include 12 | 13 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/exe/udisptool.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -w 1 5 | WindowsLocalDebugger 6 | 7 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/Resource.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/Resource.aps -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/Resource.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/Resource.rc -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/base_type.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | 5 | typedef unsigned __int32 uint32_t; 6 | typedef unsigned __int16 uint16_t; 7 | typedef unsigned __int8 uint8_t; 8 | 9 | typedef uint8_t _u8; 10 | typedef uint16_t _u16; 11 | typedef uint32_t _u32; 12 | 13 | typedef uint32_t pixel_type_t; -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/enc_jpg.h: -------------------------------------------------------------------------------- 1 | 2 | #include"enc_base.h" 3 | #include"tiny_jpeg.h" 4 | 5 | 6 | 7 | 8 | class enc_jpg :public enc_base { 9 | 10 | public: 11 | enc_jpg(){ 12 | enc_type=UDISP_TYPE_JPG; 13 | jpg_quality=5; 14 | } 15 | enc_jpg(int q){ 16 | enc_type=UDISP_TYPE_JPG; 17 | jpg_quality=q; 18 | } 19 | int enc(uint8_t* enc, uint8_t * src, int x, int y, int right, int bottom, int line_width,int limit); 20 | protected: 21 | int jpg_quality; 22 | }; 23 | 24 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/enc_raw_rgb.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "base_type.h" 3 | #include "log.h" 4 | #include "enc_base.h" 5 | #include "enc_raw_rgb.h" 6 | 7 | int rgb888x_encoder_rgb565(uint16_t * pix_msg ,uint32_t * framebuffer ,int x, int y, int right, int bottom, int line_width) 8 | { 9 | int last_copied_x, last_copied_y; 10 | int pos = 0; 11 | 12 | // locate to the begining... 13 | framebuffer += (y * line_width + x); 14 | 15 | LOG("%s .\n",__func__); 16 | 17 | #if 1 18 | for (last_copied_y = y; last_copied_y <= bottom; ++last_copied_y) { 19 | 20 | for (last_copied_x = x; last_copied_x <= right; ++last_copied_x) { 21 | 22 | 23 | pixel_type_t pix = *framebuffer; 24 | uint8_t r, g, b; 25 | //LOG("fb %p\n",framebuffer); 26 | r = pix & 0xff; 27 | g = (pix >> 8) & 0xff; 28 | b = (pix >> 16) & 0xff; 29 | uint16_t current_pixel_le = rgb565(b, g, r); 30 | //current_pixel_le = (current_pixel_le >> 8) | (current_pixel_le << 8); 31 | *pix_msg = current_pixel_le; 32 | pix_msg++; 33 | ++framebuffer; 34 | } 35 | framebuffer += line_width - right - 1 + x; 36 | } 37 | #endif 38 | 39 | LOG("%s ..\n",__func__); 40 | 41 | return (right - x + 1) * (bottom - y + 1) * 2; 42 | 43 | } 44 | 45 | int enc_rgb565::enc( uint8_t * enc, uint8_t * src,int x, int y, int right, int bottom, int line_width,int limit) 46 | { 47 | return rgb888x_encoder_rgb565((uint16_t *)enc,(uint32_t*)src, x, y, right, bottom, line_width); 48 | 49 | } 50 | 51 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/enc_raw_rgb.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include 4 | class enc_rgb565 :public enc_base { 5 | public: 6 | enc_rgb565(){ 7 | enc_type=UDISP_TYPE_RGB565; 8 | } 9 | int enc(uint8_t* enc, uint8_t * src, int x, int y, int right, int bottom, int line_width,int limit); 10 | 11 | }; 12 | 13 | 14 | class enc_rgb888a :public enc_base { 15 | public: 16 | enc_rgb888a(){ 17 | enc_type=UDISP_TYPE_RGB888; 18 | } 19 | 20 | int enc(uint8_t* enc, uint8_t * src, int x, int y, int right, int bottom, int line_width,int limit) { 21 | int total_bytes = (right - x + 1) * (bottom - y + 1) * 2; 22 | memcpy(enc, src, total_bytes); 23 | return 0; 24 | } 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/idd_xfz1986_usb_graphic.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | CN="WDKTestCert q,132781546292131925" | 7D98ADCC7F4AE3F042BB3B07CBA7ABA4A3F71614 5 | 6 | 7 | CN="WDKTestCert q,133658758029905040" | EE248EBD7A60A45938F9300B45695334748CF8B7 8 | 9 | 10 | CN="WDKTestCert q,133660254466847495" | 8B1AD9A8A5F3376355CC2B435E4DCE550A19A573 11 | 12 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/lib/jpeg-static.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/lib/jpeg-static.lib -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/log.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef __cplusplus 4 | extern "C" 5 | { 6 | #endif 7 | 8 | #define LOG_LEVEL_ERROR 1 9 | #define LOG_LEVEL_WARN 2 10 | #define LOG_LEVEL_INFO 3 11 | #define LOG_LEVEL_MONITOR 4 12 | #define LOG_LEVEL_DEBUG 5 13 | 14 | 15 | //#define LOG(fmt,...) do {;} while(0) 16 | 17 | extern long debug_level; 18 | #define LOGE(fmt,...) do {if(debug_level >= LOG_LEVEL_ERROR) _log(fmt,__VA_ARGS__); } while(0) 19 | #define LOGW(fmt,...) do {if(debug_level >= LOG_LEVEL_WARN) _log(fmt,__VA_ARGS__); } while(0) 20 | #define LOGI(fmt,...) do {if(debug_level >= LOG_LEVEL_INFO) _log(fmt,__VA_ARGS__); } while(0) 21 | #define LOGM(fmt,...) do {if(debug_level >= LOG_LEVEL_MONITOR) _log(fmt,__VA_ARGS__); } while(0) 22 | #define LOGD(fmt,...) do {if(debug_level >= LOG_LEVEL_DEBUG) _log(fmt,__VA_ARGS__); } while(0) 23 | #define LOG(fmt,...) do {if(debug_level >= LOG_LEVEL_DEBUG) _log(fmt,__VA_ARGS__); } while(0) 24 | 25 | 26 | void _log(const char* fmt, ...); 27 | 28 | #ifdef __cplusplus 29 | } // extern C 30 | #endif 31 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/resource.h -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/test_pattern.cpp: -------------------------------------------------------------------------------- 1 | 2 | 3 | pixel_type_t lcd_color_test_pattern[640 * 480] = { 0 }; 4 | 5 | #define TEST_COLOR_RED 0xff 6 | #define TEST_COLOR_GREEN 0xff00 7 | #define TEST_COLOR_BLUE 0xff0000 8 | 9 | void fill_color(pixel_type_t *buf, int len, pixel_type_t color) 10 | { 11 | int i = 0; 12 | for (i = 0; i <= len; i++) { 13 | buf[i] = color; 14 | } 15 | //dump_memory_bytes("-",buf,16); 16 | } 17 | 18 | 19 | void fill_color_bar(pixel_type_t *buf, int len) 20 | { 21 | #if 0 22 | fill_color(buf, len / 3, TEST_COLOR_RED); 23 | #else 24 | fill_color(buf, len / 12, TEST_COLOR_RED); 25 | fill_color(&buf[len / 12], len / 12, TEST_COLOR_GREEN); 26 | fill_color(&buf[(len * 2) / 12], len / 12, TEST_COLOR_BLUE); 27 | #endif 28 | } 29 | 30 | void fill_color565(uint16_t *buf, int len, uint16_t color) 31 | { 32 | int i = 0; 33 | for (i = 0; i <= len; i++) { 34 | buf[i] = color; 35 | } 36 | //dump_memory_bytes("-",buf,16); 37 | } 38 | //rgb565 high5 is red low 5bit blue 39 | void fill_color565_bar(uint16_t *buf, int len) 40 | { 41 | #if 0 42 | fill_color565(buf, len / 3, TEST_COLOR_RED); 43 | #else 44 | fill_color565(buf, len / 3, rgb565(0xff, 0, 0)); 45 | fill_color565(&buf[len / 3], len / 3, rgb565(0, 0xff, 0)); 46 | fill_color565(&buf[(len * 2) / 3], len / 3, rgb565(0, 0, 0xff)); 47 | #endif 48 | } 49 | 50 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/usb_transf.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef __cplusplus 4 | extern "C" 5 | { 6 | #endif 7 | 8 | int usb_transf_init(SLIST_HEADER * urb_list); 9 | int usb_transf_exit(SLIST_HEADER * urb_list); 10 | 11 | NTSTATUS 12 | idd_usbdisp_evt_device_prepareHardware( 13 | WDFDEVICE Device, 14 | WDFCMRESLIST ResourceList, 15 | WDFCMRESLIST ResourceListTranslated 16 | ); 17 | 18 | int usb_transf_msg(SLIST_HEADER * urb_list ,WDFUSBPIPE pipeHandle,uint8_t *msg,int total_bytes); 19 | 20 | #ifdef __cplusplus 21 | } // extern C 22 | #endif 23 | -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/xfz1986_usb_graphic.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver/idd_xfz1986_usb_graphic/xfz1986_usb_graphic.inf -------------------------------------------------------------------------------- /win10_idd_xfz1986_usb_graphic_driver_display_readme.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/win10_idd_xfz1986_usb_graphic_driver_display_readme.doc -------------------------------------------------------------------------------- /windows_driver_sign/xfz1986_usb_graphic_250224_rc_sign.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display/833edd82050c2e0bd182bb5e2d621c5c204a1492/windows_driver_sign/xfz1986_usb_graphic_250224_rc_sign.exe --------------------------------------------------------------------------------