How spencekonde/dxcore works
DxCore is an Arduino core for Microchip AVR DA, DB, DD, EA, EB, and DU microcontrollers. The principal workflow is an Arduino sketch using the core’s API and device-specific pin/peripheral definitions to interact with MCU hardware. The repository also supplies optional peripheral libraries and Optiboot bootloaders. The README documents broad device and hardware support; sampled evidence is strongest for core headers, timer configuration, and selected library interfaces, so unsampled implementation links are omitted.
Main entry points: Arduino.h Arduino API · Print.h Print and Stream · pins_arduino.h Board Pin Mapping · timers.h Timer Support
Components 20
Arduino Core
- Core Runtime
megaavr/cores/dxcore/main.cpp - Arduino API
megaavr/cores/dxcore/Arduino.h - Print and Stream
megaavr/cores/dxcore/api/Print.h - String Types
megaavr/cores/dxcore/api/String.h - Printable Types
megaavr/cores/dxcore/api/Printable.h
Device Hardware
- Device Definitions
megaavr/cores/dxcore/core_devices.h - Board Pin Mapping
megaavr/variants/14pin-ddseries/pins_arduino.h - Timer Pin Mapping
megaavr/cores/dxcore/device_timer_pins.h - Timer Support
megaavr/cores/dxcore/timers.h - UART Configuration
megaavr/cores/dxcore/UART_constants.h
Peripheral Libraries
- Event System
megaavr/libraries/Event/src/Event.cpp - Comparator
megaavr/libraries/Comparator/src/Comparator.cpp - Configurable Logic
megaavr/libraries/Logic/src/Logic.cpp - I2C Wire
megaavr/libraries/Wire/src/Wire.cpp - SPI
megaavr/libraries/SPI/src/SPI.cpp - SD Storage
megaavr/libraries/SD/src/SD.cpp - Flash Access
megaavr/libraries/Flash/src/Flash.cpp
Bootloaders
- Optiboot
megaavr/bootloaders/optiboot_dx/optiboot_dx.c - Dx Optiboot Variant
megaavr/bootloaders/optiboot_dex/optiboot_dx.c
Other components
- Arduino Sketch
Connections 10
- Arduino Sketch → Arduino API: uses API
- Arduino API → Device Definitions: includes definitions
megaavr/cores/dxcore/Arduino.h - Arduino API → Timer Pin Mapping: includes mapping
megaavr/cores/dxcore/Arduino.h - Arduino API → UART Configuration: includes settings
megaavr/cores/dxcore/Arduino.h - Arduino API → Board Pin Mapping: includes pin map
megaavr/cores/dxcore/Arduino.h - Print and Stream → String Types: uses types
megaavr/cores/dxcore/api/Print.h - Print and Stream → Printable Types: uses types
megaavr/cores/dxcore/api/Print.h - Timer Support → Device Definitions: uses parameters
megaavr/cores/dxcore/timers.h - Board Pin Mapping → Timer Support: references timers
- I2C Wire → Arduino API: includes core
megaavr/libraries/Wire/src/Wire.cpp