gitextract_phg38h2d/ ├── .github/ │ └── workflows/ │ └── build.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── Pico-PIO-USB/ │ ├── CMakeLists.txt │ └── src/ │ ├── pio_usb.c │ ├── pio_usb.h │ ├── pio_usb_configuration.h │ ├── pio_usb_device.c │ ├── pio_usb_host.c │ ├── pio_usb_ll.h │ ├── usb_crc.c │ ├── usb_crc.h │ ├── usb_definitions.h │ ├── usb_rx.pio │ ├── usb_rx.pio.h │ ├── usb_tx.pio │ └── usb_tx.pio.h ├── README.md ├── case/ │ ├── bottom.stl │ ├── deskhop_case.f3d │ ├── deskhop_case.step │ └── top.stl ├── disk/ │ ├── create.sh │ ├── disk.S │ └── disk.img ├── misc/ │ ├── .clang-format │ ├── .editorconfig │ ├── .markdownlint.yaml │ ├── Dockerfile │ ├── crc32.py │ ├── docker.yml │ └── memory_map.ld ├── pcb/ │ ├── v1.0/ │ │ ├── DeskHop.kicad_pcb │ │ ├── DeskHop.kicad_prl │ │ ├── DeskHop.kicad_pro │ │ ├── DeskHop.kicad_sch │ │ └── Gerber/ │ │ ├── DeskHop-B_Cu.gbr │ │ ├── DeskHop-B_Mask.gbr │ │ ├── DeskHop-B_Paste.gbr │ │ ├── DeskHop-B_Silkscreen.gbr │ │ ├── DeskHop-Edge_Cuts.gbr │ │ ├── DeskHop-F_Cu.gbr │ │ ├── DeskHop-F_Mask.gbr │ │ ├── DeskHop-F_Paste.gbr │ │ ├── DeskHop-F_Silkscreen.gbr │ │ ├── DeskHop-NPTH.drl │ │ ├── DeskHop-PTH.drl │ │ └── DeskHop-job.gbrjob │ └── v1.1/ │ ├── DeskHop_Rev1.kicad_pcb │ ├── DeskHop_Rev1.kicad_pro │ ├── DeskHop_Rev1.kicad_sch │ └── Gerber/ │ ├── DeskHop_Rev1-B_Cu.gbr │ ├── DeskHop_Rev1-B_Mask.gbr │ ├── DeskHop_Rev1-B_Silkscreen.gbr │ ├── DeskHop_Rev1-Edge_Cuts.gbr │ ├── DeskHop_Rev1-F_Cu.gbr │ ├── DeskHop_Rev1-F_Mask.gbr │ ├── DeskHop_Rev1-F_Paste.gbr │ ├── DeskHop_Rev1-F_Silkscreen.gbr │ ├── DeskHop_Rev1-NPTH.drl │ ├── DeskHop_Rev1-PTH.drl │ └── DeskHop_Rev1-job.gbrjob ├── pico-sdk/ │ ├── CMakeLists.txt │ ├── cmake/ │ │ ├── Platform/ │ │ │ └── PICO.cmake │ │ ├── pico_pre_load_platform.cmake │ │ ├── pico_pre_load_toolchain.cmake │ │ ├── pico_utils.cmake │ │ └── preload/ │ │ ├── platforms/ │ │ │ ├── host.cmake │ │ │ ├── pico/ │ │ │ │ └── pico.cmake │ │ │ └── rp2040.cmake │ │ └── toolchains/ │ │ ├── find_compiler.cmake │ │ ├── pico_arm_clang.cmake │ │ ├── pico_arm_clang_arm.cmake │ │ ├── pico_arm_gcc.cmake │ │ └── set_flags.cmake │ ├── lib/ │ │ └── tinyusb/ │ │ ├── LICENSE │ │ ├── hw/ │ │ │ └── bsp/ │ │ │ ├── ansi_escape.h │ │ │ ├── board.c │ │ │ ├── board_api.h │ │ │ ├── board_mcu.h │ │ │ ├── family_support.cmake │ │ │ └── rp2040/ │ │ │ ├── board.h │ │ │ ├── boards/ │ │ │ │ ├── pico_sdk/ │ │ │ │ │ └── board.cmake │ │ │ │ └── raspberry_pi_pico/ │ │ │ │ └── board.cmake │ │ │ ├── family.c │ │ │ ├── family.cmake │ │ │ ├── family.mk │ │ │ ├── pico_sdk_import.cmake │ │ │ └── rp2040-openocd.cfg │ │ └── src/ │ │ ├── CMakeLists.txt │ │ ├── class/ │ │ │ ├── cdc/ │ │ │ │ ├── cdc.h │ │ │ │ ├── cdc_device.c │ │ │ │ ├── cdc_device.h │ │ │ │ └── serial/ │ │ │ │ ├── cp210x.h │ │ │ │ └── ftdi_sio.h │ │ │ ├── hid/ │ │ │ │ ├── hid.h │ │ │ │ ├── hid_device.c │ │ │ │ ├── hid_device.h │ │ │ │ ├── hid_host.c │ │ │ │ └── hid_host.h │ │ │ └── msc/ │ │ │ ├── msc.h │ │ │ ├── msc_device.c │ │ │ └── msc_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_none.h │ │ │ └── osal_pico.h │ │ ├── portable/ │ │ │ └── raspberrypi/ │ │ │ ├── pio_usb/ │ │ │ │ ├── dcd_pio_usb.c │ │ │ │ └── hcd_pio_usb.c │ │ │ └── rp2040/ │ │ │ ├── dcd_rp2040.c │ │ │ ├── hcd_rp2040.c │ │ │ ├── rp2040_usb.c │ │ │ └── rp2040_usb.h │ │ ├── tinyusb.mk │ │ ├── tusb.c │ │ ├── tusb.h │ │ ├── tusb_option.h │ │ └── typec/ │ │ ├── pd_types.h │ │ ├── tcd.h │ │ ├── usbc.c │ │ └── usbc.h │ ├── pico_sdk_import.cmake │ ├── pico_sdk_init.cmake │ ├── pico_sdk_version.cmake │ ├── src/ │ │ ├── CMakeLists.txt │ │ ├── board_setup.cmake │ │ ├── boards/ │ │ │ ├── generic_board.cmake │ │ │ ├── include/ │ │ │ │ └── boards/ │ │ │ │ ├── none.h │ │ │ │ ├── pico.h │ │ │ │ └── pico_w.h │ │ │ └── pico_w.cmake │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── boot_picoboot/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── boot/ │ │ │ │ └── picoboot.h │ │ │ ├── boot_uf2/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── boot/ │ │ │ │ └── uf2.h │ │ │ ├── pico_base/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generate_config_header.cmake │ │ │ │ └── include/ │ │ │ │ ├── pico/ │ │ │ │ │ ├── assert.h │ │ │ │ │ ├── config.h │ │ │ │ │ ├── error.h │ │ │ │ │ ├── types.h │ │ │ │ │ └── version.h.in │ │ │ │ └── pico.h │ │ │ ├── pico_binary_info/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ ├── binary_info/ │ │ │ │ │ ├── code.h │ │ │ │ │ ├── defs.h │ │ │ │ │ └── structure.h │ │ │ │ └── binary_info.h │ │ │ ├── pico_bit_ops/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── bit_ops.h │ │ │ ├── pico_divider/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── divider.h │ │ │ ├── pico_stdlib/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── stdlib.h │ │ │ ├── pico_sync/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── critical_section.c │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ ├── critical_section.h │ │ │ │ │ ├── lock_core.h │ │ │ │ │ ├── mutex.h │ │ │ │ │ ├── sem.h │ │ │ │ │ └── sync.h │ │ │ │ ├── lock_core.c │ │ │ │ ├── mutex.c │ │ │ │ └── sem.c │ │ │ ├── pico_time/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ ├── time.h │ │ │ │ │ └── timeout_helper.h │ │ │ │ ├── time.c │ │ │ │ └── timeout_helper.c │ │ │ ├── pico_usb_reset_interface/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── usb_reset_interface.h │ │ │ └── pico_util/ │ │ │ ├── CMakeLists.txt │ │ │ ├── datetime.c │ │ │ ├── doc.h │ │ │ ├── include/ │ │ │ │ └── pico/ │ │ │ │ └── util/ │ │ │ │ ├── datetime.h │ │ │ │ ├── pheap.h │ │ │ │ └── queue.h │ │ │ ├── pheap.c │ │ │ └── queue.c │ │ ├── rp2040/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── hardware_regs/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ ├── platform_defs.h │ │ │ │ └── regs/ │ │ │ │ ├── adc.h │ │ │ │ ├── addressmap.h │ │ │ │ ├── busctrl.h │ │ │ │ ├── clocks.h │ │ │ │ ├── dma.h │ │ │ │ ├── dreq.h │ │ │ │ ├── i2c.h │ │ │ │ ├── intctrl.h │ │ │ │ ├── io_bank0.h │ │ │ │ ├── io_qspi.h │ │ │ │ ├── m0plus.h │ │ │ │ ├── pads_bank0.h │ │ │ │ ├── pads_qspi.h │ │ │ │ ├── pio.h │ │ │ │ ├── pll.h │ │ │ │ ├── psm.h │ │ │ │ ├── pwm.h │ │ │ │ ├── resets.h │ │ │ │ ├── rosc.h │ │ │ │ ├── rtc.h │ │ │ │ ├── sio.h │ │ │ │ ├── spi.h │ │ │ │ ├── ssi.h │ │ │ │ ├── syscfg.h │ │ │ │ ├── sysinfo.h │ │ │ │ ├── tbman.h │ │ │ │ ├── timer.h │ │ │ │ ├── uart.h │ │ │ │ ├── usb.h │ │ │ │ ├── usb_device_dpram.h │ │ │ │ ├── vreg_and_chip_reset.h │ │ │ │ ├── watchdog.h │ │ │ │ ├── xip.h │ │ │ │ └── xosc.h │ │ │ └── hardware_structs/ │ │ │ ├── CMakeLists.txt │ │ │ └── include/ │ │ │ └── hardware/ │ │ │ └── structs/ │ │ │ ├── adc.h │ │ │ ├── bus_ctrl.h │ │ │ ├── clocks.h │ │ │ ├── dma.h │ │ │ ├── i2c.h │ │ │ ├── interp.h │ │ │ ├── iobank0.h │ │ │ ├── ioqspi.h │ │ │ ├── mpu.h │ │ │ ├── nvic.h │ │ │ ├── pads_qspi.h │ │ │ ├── padsbank0.h │ │ │ ├── pio.h │ │ │ ├── pll.h │ │ │ ├── psm.h │ │ │ ├── pwm.h │ │ │ ├── resets.h │ │ │ ├── rosc.h │ │ │ ├── rtc.h │ │ │ ├── scb.h │ │ │ ├── sio.h │ │ │ ├── spi.h │ │ │ ├── ssi.h │ │ │ ├── syscfg.h │ │ │ ├── systick.h │ │ │ ├── timer.h │ │ │ ├── uart.h │ │ │ ├── usb.h │ │ │ ├── vreg_and_chip_reset.h │ │ │ ├── watchdog.h │ │ │ ├── xip_ctrl.h │ │ │ └── xosc.h │ │ ├── rp2040.cmake │ │ ├── rp2_common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── boot_stage2/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── asminclude/ │ │ │ │ │ └── boot2_helpers/ │ │ │ │ │ ├── exit_from_boot2.S │ │ │ │ │ ├── read_flash_sreg.S │ │ │ │ │ └── wait_ssi_ready.S │ │ │ │ ├── boot2_at25sf128a.S │ │ │ │ ├── boot2_generic_03h.S │ │ │ │ ├── boot2_is25lp080.S │ │ │ │ ├── boot2_usb_blinky.S │ │ │ │ ├── boot2_w25q080.S │ │ │ │ ├── boot2_w25x10cl.S │ │ │ │ ├── boot_stage2.ld │ │ │ │ ├── compile_time_choice.S │ │ │ │ ├── doc.h │ │ │ │ ├── include/ │ │ │ │ │ └── boot_stage2/ │ │ │ │ │ └── config.h │ │ │ │ └── pad_checksum │ │ │ ├── cmsis/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── cmsis/ │ │ │ │ │ └── rename_exceptions.h │ │ │ │ └── stub/ │ │ │ │ └── CMSIS/ │ │ │ │ ├── Core/ │ │ │ │ │ └── Include/ │ │ │ │ │ ├── cmsis_armcc.h │ │ │ │ │ ├── cmsis_armclang.h │ │ │ │ │ ├── cmsis_armclang_ltm.h │ │ │ │ │ ├── cmsis_compiler.h │ │ │ │ │ ├── cmsis_gcc.h │ │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ │ ├── cmsis_version.h │ │ │ │ │ ├── core_cm0plus.h │ │ │ │ │ └── mpu_armv7.h │ │ │ │ ├── Device/ │ │ │ │ │ └── RaspberryPi/ │ │ │ │ │ └── RP2040/ │ │ │ │ │ ├── Include/ │ │ │ │ │ │ ├── RP2040.h │ │ │ │ │ │ └── system_RP2040.h │ │ │ │ │ └── Source/ │ │ │ │ │ └── system_RP2040.c │ │ │ │ └── LICENSE.txt │ │ │ ├── hardware_adc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adc.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── adc.h │ │ │ ├── hardware_base/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── address_mapped.h │ │ │ ├── hardware_claim/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── claim.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── claim.h │ │ │ ├── hardware_clocks/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── clocks.c │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── clocks.h │ │ │ │ └── scripts/ │ │ │ │ └── vcocalc.py │ │ │ ├── hardware_divider/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── divider.S │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ ├── divider.h │ │ │ │ └── divider_helper.S │ │ │ ├── hardware_dma/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── dma.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── dma.h │ │ │ ├── hardware_exception/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── exception.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── exception.h │ │ │ ├── hardware_flash/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── flash.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── flash.h │ │ │ ├── hardware_gpio/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── gpio.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── gpio.h │ │ │ ├── hardware_i2c/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── i2c.c │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── i2c.h │ │ │ ├── hardware_interp/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── interp.h │ │ │ │ └── interp.c │ │ │ ├── hardware_irq/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── irq.h │ │ │ │ ├── irq.c │ │ │ │ └── irq_handler_chain.S │ │ │ ├── hardware_pio/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ ├── pio.h │ │ │ │ │ └── pio_instructions.h │ │ │ │ └── pio.c │ │ │ ├── hardware_pll/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── pll.h │ │ │ │ └── pll.c │ │ │ ├── hardware_pwm/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── pwm.h │ │ │ ├── hardware_resets/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── hardware/ │ │ │ │ └── resets.h │ │ │ ├── hardware_rtc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── rtc.h │ │ │ │ └── rtc.c │ │ │ ├── hardware_spi/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── spi.h │ │ │ │ └── spi.c │ │ │ ├── hardware_sync/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── sync.h │ │ │ │ └── sync.c │ │ │ ├── hardware_timer/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── timer.h │ │ │ │ └── timer.c │ │ │ ├── hardware_uart/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── uart.h │ │ │ │ └── uart.c │ │ │ ├── hardware_vreg/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── vreg.h │ │ │ │ └── vreg.c │ │ │ ├── hardware_watchdog/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── watchdog.h │ │ │ │ └── watchdog.c │ │ │ ├── hardware_xosc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── hardware/ │ │ │ │ │ └── xosc.h │ │ │ │ └── xosc.c │ │ │ ├── pico_async_context/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── async_context_base.c │ │ │ │ ├── async_context_freertos.c │ │ │ │ ├── async_context_poll.c │ │ │ │ ├── async_context_threadsafe_background.c │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ ├── async_context.h │ │ │ │ ├── async_context_base.h │ │ │ │ ├── async_context_freertos.h │ │ │ │ ├── async_context_poll.h │ │ │ │ └── async_context_threadsafe_background.h │ │ │ ├── pico_bit_ops/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── bit_ops_aeabi.S │ │ │ ├── pico_bootrom/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── bootrom.c │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ ├── bootrom/ │ │ │ │ │ └── sf_table.h │ │ │ │ └── bootrom.h │ │ │ ├── pico_bootsel_via_double_reset/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── pico_bootsel_via_double_reset.c │ │ │ ├── pico_cxx_options/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── doc.h │ │ │ ├── pico_divider/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── divider.S │ │ │ ├── pico_double/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── double_aeabi.S │ │ │ │ ├── double_init_rom.c │ │ │ │ ├── double_math.c │ │ │ │ ├── double_none.S │ │ │ │ ├── double_v1_rom_shim.S │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── double.h │ │ │ ├── pico_fix/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── rp2040_usb_device_enumeration/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── fix/ │ │ │ │ │ └── rp2040_usb_device_enumeration.h │ │ │ │ └── rp2040_usb_device_enumeration.c │ │ │ ├── pico_flash/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── flash.c │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── flash.h │ │ │ ├── pico_float/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── float_aeabi.S │ │ │ │ ├── float_init_rom.c │ │ │ │ ├── float_math.c │ │ │ │ ├── float_none.S │ │ │ │ ├── float_v1_rom_shim.S │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── float.h │ │ │ ├── pico_i2c_slave/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── i2c_slave.c │ │ │ │ └── include/ │ │ │ │ └── pico/ │ │ │ │ └── i2c_slave.h │ │ │ ├── pico_int64_ops/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── int64_ops.h │ │ │ │ └── pico_int64_ops_aeabi.S │ │ │ ├── pico_malloc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── malloc.h │ │ │ │ └── pico_malloc.c │ │ │ ├── pico_mem_ops/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── mem_ops.h │ │ │ │ ├── mem_ops.c │ │ │ │ └── mem_ops_aeabi.S │ │ │ ├── pico_multicore/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── multicore.h │ │ │ │ └── multicore.c │ │ │ ├── pico_platform/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ ├── asm_helper.S │ │ │ │ │ └── platform.h │ │ │ │ └── platform.c │ │ │ ├── pico_printf/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── printf.h │ │ │ │ ├── printf.c │ │ │ │ └── printf_none.S │ │ │ ├── pico_rand/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── rand.h │ │ │ │ └── rand.c │ │ │ ├── pico_runtime/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── runtime.h │ │ │ │ └── runtime.c │ │ │ ├── pico_standard_link/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── binary_info.c │ │ │ │ ├── crt0.S │ │ │ │ ├── doc.h │ │ │ │ ├── memmap_blocked_ram.ld │ │ │ │ ├── memmap_copy_to_ram.ld │ │ │ │ ├── memmap_default.ld │ │ │ │ ├── memmap_no_flash.ld │ │ │ │ └── new_delete.cpp │ │ │ ├── pico_stdio/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── LICENSE │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ ├── stdio/ │ │ │ │ │ │ └── driver.h │ │ │ │ │ └── stdio.h │ │ │ │ └── stdio.c │ │ │ ├── pico_stdio_semihosting/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── stdio_semihosting.h │ │ │ │ └── stdio_semihosting.c │ │ │ ├── pico_stdio_uart/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── stdio_uart.h │ │ │ │ └── stdio_uart.c │ │ │ ├── pico_stdio_usb/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ ├── pico/ │ │ │ │ │ │ ├── stdio_usb/ │ │ │ │ │ │ │ └── reset_interface.h │ │ │ │ │ │ └── stdio_usb.h │ │ │ │ │ └── tusb_config.h │ │ │ │ ├── reset_interface.c │ │ │ │ ├── stdio_usb.c │ │ │ │ └── stdio_usb_descriptors.c │ │ │ ├── pico_stdlib/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── stdlib.c │ │ │ ├── pico_unique_id/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── include/ │ │ │ │ │ └── pico/ │ │ │ │ │ └── unique_id.h │ │ │ │ └── unique_id.c │ │ │ └── tinyusb/ │ │ │ ├── CMakeLists.txt │ │ │ └── doc.h │ │ └── rp2_common.cmake │ └── tools/ │ ├── CMakeLists.txt │ ├── FindELF2UF2.cmake │ ├── FindPioasm.cmake │ ├── elf2uf2/ │ │ ├── CMakeLists.txt │ │ ├── elf.h │ │ └── main.cpp │ └── pioasm/ │ ├── CMakeLists.txt │ ├── ada_output.cpp │ ├── c_sdk_output.cpp │ ├── gen/ │ │ ├── lexer.cpp │ │ ├── location.h │ │ ├── parser.cpp │ │ └── parser.hpp │ ├── hex_output.cpp │ ├── lexer.ll │ ├── main.cpp │ ├── output_format.h │ ├── parser.yy │ ├── pio_assembler.cpp │ ├── pio_assembler.h │ ├── pio_disassembler.cpp │ ├── pio_disassembler.h │ ├── pio_types.h │ └── python_output.cpp ├── src/ │ ├── constants.c │ ├── defaults.c │ ├── handlers.c │ ├── hid_parser.c │ ├── hid_report.c │ ├── include/ │ │ ├── config.h │ │ ├── constants.h │ │ ├── dma.h │ │ ├── firmware.h │ │ ├── flash.h │ │ ├── handlers.h │ │ ├── hid_parser.h │ │ ├── hid_report.h │ │ ├── keyboard.h │ │ ├── main.h │ │ ├── misc.h │ │ ├── mouse.h │ │ ├── packet.h │ │ ├── pinout.h │ │ ├── protocol.h │ │ ├── screen.h │ │ ├── serial.h │ │ ├── setup.h │ │ ├── structs.h │ │ ├── tasks.h │ │ ├── tusb_config.h │ │ ├── usb_descriptors.h │ │ ├── user_config.h │ │ └── watchdog.h │ ├── keyboard.c │ ├── led.c │ ├── main.c │ ├── mouse.c │ ├── protocol.c │ ├── ramdisk.c │ ├── setup.c │ ├── tasks.c │ ├── uart.c │ ├── usb.c │ ├── usb_descriptors.c │ └── utils.c └── webconfig/ ├── .gitignore ├── Makefile ├── config-unpacked.htm ├── config.htm ├── form.py ├── render.py ├── requirements.txt └── templates/ ├── form.html ├── main.html ├── packer.j2 ├── script.js └── style.css