diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2017-09-22 18:05:51 -0700 |
|---|---|---|
| committer | Dan Halbert <halbert@halwitz.org> | 2017-09-22 21:05:51 -0400 |
| commit | 6839fff31303463d5c7942387fa498895edf1abf (patch) | |
| tree | f4c5b94c6534c8d5c65ea6b7209cd2d681508f5f /atmel-samd/tools | |
| parent | 3ad01ddb04b160b74b4baee9fce043da17dbcef5 (diff) | |
Move to ASF4 and introduce SAMD51 support. (#258)3.0.0-alpha.0
* atmel-samd: Remove ASF3. This will break builds.
* atmel-samd: Add ASF4 for the SAMD21 and SAMD51.
* Introduce the supervisor concept to facilitate porting.
The supervisor is the code which runs individual MicroPython VMs. By
splitting it out we make it more consistent and easier to find.
This also adds very basic SAMD21 and SAMD51 support using the
supervisor. Only the REPL currently works.
This begins the work for #178.
Diffstat (limited to 'atmel-samd/tools')
| -rw-r--r-- | atmel-samd/tools/samd21.json | 1 | ||||
| -rw-r--r-- | atmel-samd/tools/samd51.json | 1 | ||||
| -rw-r--r-- | atmel-samd/tools/update_asf.py | 54 |
3 files changed, 56 insertions, 0 deletions
diff --git a/atmel-samd/tools/samd21.json b/atmel-samd/tools/samd21.json new file mode 100644 index 000000000..8a2b098a1 --- /dev/null +++ b/atmel-samd/tools/samd21.json @@ -0,0 +1 @@ +{"jsonForm":"=1","formatVersion":2,"board":{"identifier":"CustomBoard","device":"SAMD21G18A-MF"},"identifier":"","name":"My Project","details":null,"application":null,"middlewares":[{"functionality":"USB_Chapter_9","identifier":"USB_CHAPTER_9","user_label":"USB_CHAPTER_9","api":"USB:Protocol:Core","configuration":{},"dependencies":{},"definition":"Atmel:USB:0.0.1::USB_Chapter_9"},{"functionality":"USB_Class_HUB","identifier":"USB_CLASS_HUB","user_label":"USB_CLASS_HUB","api":"USB:Protocol:HUB","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_HUB"},{"functionality":"USB_Class_HID","identifier":"USB_CLASS_HID","user_label":"USB_CLASS_HID","api":"USB:Protocol:HID","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_HID"},{"functionality":"USB_Class_CDC","identifier":"USB_CLASS_CDC","user_label":"USB_CLASS_CDC","api":"USB:Protocol:CDC","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_CDC"},{"functionality":"USB_Class_Mass_Storage_(MSC)","identifier":"USB_CLASS_MSC","user_label":"USB_CLASS_MSC","api":"USB:Protocol:MSC","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_MSC"},{"functionality":"USB_Class_VENDOR","identifier":"USB_CLASS_VENDOR","user_label":"USB_CLASS_VENDOR","api":"USB:Protocol:VENDOR","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_VENDOR"},{"functionality":"USB_Device_Core","identifier":"USB_DEVICE_STACK_CORE_INSTANCE","user_label":"USB_DEVICE_STACK_CORE_INSTANCE","api":"USB:Device:Core","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9","USB Device instance":"USB_0"},"definition":"Atmel:USB:0.0.1::USB_Device_Core"},{"functionality":"USB_Device_COMPOSITE","identifier":"USB_DEVICE_COMPOSITE_0","user_label":"USB_DEVICE_COMPOSITE_0","api":"USB:Device:COMPOSITE","configuration":{"usb_composite_bcdusb":"USB 2.0 version","usb_composite_bmaxpksz0":"64 bytes","usb_composite_idvender":1003,"usb_composite_idproduct":9249,"usb_composite_bcddevice":256,"usb_composite_imanufact":0,"usb_composite_iproduct":0,"usb_composite_iserialnum":0,"usb_composite_bnumconfig":1,"usb_composite_bconfigval":1,"usb_composite_iconfig":0,"usb_composite_bmattri":"Bus power supply, not support for remote wakeup","usb_composite_bmaxpower":50,"usb_composite_cdc_acm_support":true,"usb_composite_cdc_acm_epaddr":"EndpointAddress = 0x82","usb_composite_cdc_acm_comm_int_maxpksz":"64 bytes","usb_composite_cdc_acm_data_bulkin_epaddr":"EndpointAddress = 0x81","usb_composite_cdc_acm_data_builin_maxpksz":"64 bytes","usb_composite_cdc_acm_data_bulkout_epaddr":"EndpointAddress = 0x01","usb_composite_cdc_acm_data_buckout_maxpksz":"64 bytes","usb_composite_hid_mouse_support":false,"usb_composite_hid_mouse_intin_epaddr":"EndpointAddress = 0x83","usb_composite_hid_mouse_intin_maxpksz":"8 bytes","usb_composite_hid_keyboard_support":false,"usb_composite_hid_keyboard_intin_epaddr":"EndpointAddress = 0x84","usb_composite_hid_keyboard_intin_maxpksz":"8 bytes","usb_composite_hid_keyboard_intout_epaddr":"EndpointAddress = 0x02","usb_composite_hid_keyboard_intout_maxpksz":"8 bytes","usb_composite_hid_generic_support":false,"usb_composite_hid_generic_intin_epaddr":"EndpointAddress = 0x85","usb_composite_hid_generic_intin_maxpksz":"64 bytes","usb_composite_hid_generic_intout_epaddr":"EndpointAddress = 0x03","usb_composite_hid_generic_intout_maxpksz":"64 bytes"},"dependencies":{"USB Class MSC":"USB_CLASS_MSC","USB Class CDC":"USB_CLASS_CDC","USB Device Stack Core Instance":"USB_DEVICE_STACK_CORE_INSTANCE","USB Class VENDOR":"USB_CLASS_VENDOR","USB Class HID":"USB_CLASS_HID","USB Class HUB":"USB_CLASS_HUB"},"definition":"Atmel:USB:0.0.1::USB_Device_Composite"}],"drivers":[{"functionality":null,"identifier":"GCLK","user_label":"GCLK","api":"HAL:HPL:GCLK","configuration":{"enable_gclk_gen_0":true,"gclk_arch_gen_0_RUNSTDBY":false,"gclk_gen_0_div_sel":false,"gclk_arch_gen_0_oe":false,"gclk_arch_gen_0_oov":false,"gclk_arch_gen_0_idc":false,"gclk_arch_gen_0_enable":true,"gclk_gen_0_oscillator":"8MHz Internal Oscillator (OSC8M)","gclk_gen_0_div":1,"enable_gclk_gen_1":false,"gclk_arch_gen_1_RUNSTDBY":false,"gclk_gen_1_div_sel":false,"gclk_arch_gen_1_oe":false,"gclk_arch_gen_1_oov":false,"gclk_arch_gen_1_idc":false,"gclk_arch_gen_1_enable":false,"gclk_gen_1_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_1_div":1,"enable_gclk_gen_2":false,"gclk_arch_gen_2_RUNSTDBY":false,"gclk_gen_2_div_sel":false,"gclk_arch_gen_2_oe":false,"gclk_arch_gen_2_oov":false,"gclk_arch_gen_2_idc":false,"gclk_arch_gen_2_enable":false,"gclk_gen_2_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_2_div":1,"enable_gclk_gen_3":false,"gclk_arch_gen_3_RUNSTDBY":false,"gclk_gen_3_div_sel":false,"gclk_arch_gen_3_oe":false,"gclk_arch_gen_3_oov":false,"gclk_arch_gen_3_idc":false,"gclk_arch_gen_3_enable":false,"gclk_gen_3_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_3_div":1,"enable_gclk_gen_4":false,"gclk_arch_gen_4_RUNSTDBY":false,"gclk_gen_4_div_sel":false,"gclk_arch_gen_4_oe":false,"gclk_arch_gen_4_oov":false,"gclk_arch_gen_4_idc":false,"gclk_arch_gen_4_enable":false,"gclk_gen_4_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_4_div":1,"enable_gclk_gen_5":false,"gclk_arch_gen_5_RUNSTDBY":false,"gclk_gen_5_div_sel":false,"gclk_arch_gen_5_oe":false,"gclk_arch_gen_5_oov":false,"gclk_arch_gen_5_idc":false,"gclk_arch_gen_5_enable":false,"gclk_gen_5_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_5_div":1,"enable_gclk_gen_6":false,"gclk_arch_gen_6_RUNSTDBY":false,"gclk_gen_6_div_sel":false,"gclk_arch_gen_6_oe":false,"gclk_arch_gen_6_oov":false,"gclk_arch_gen_6_idc":false,"gclk_arch_gen_6_enable":false,"gclk_gen_6_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_6_div":1,"enable_gclk_gen_7":false,"gclk_arch_gen_7_RUNSTDBY":false,"gclk_gen_7_div_sel":false,"gclk_arch_gen_7_oe":false,"gclk_arch_gen_7_oov":false,"gclk_arch_gen_7_idc":false,"gclk_arch_gen_7_enable":false,"gclk_gen_7_oscillator":"External Crystal Oscillator 0.4-32MHz (XOSC)","gclk_gen_7_div":1},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::GCLK::driver_definition::GCLK::HAL:HPL:GCLK","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::GCLK::driver_config_definition::GCLK::HAL:HPL:GCLK","module":"GCLK"}},{"functionality":null,"identifier":"PM","user_label":"PM","api":"HAL:HPL:PM","configuration":{"enable_cpu_clock":true,"cpu_clock_source":"Generic clock generator 0","cpu_div":"1","nvm_wait_states":"0","apba_div":"1","apbb_div":"1","apbc_div":"1"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::PM::driver_definition::PM::HAL:HPL:PM","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::PM::driver_config_definition::PM::HAL:HPL:PM","module":"PM"},"clocks":{"domain_group":{"nodes":[{"name":"CPU","input":"CPU"}],"configuration":{}}}},{"functionality":null,"identifier":"DMAC","user_label":"DMAC","api":"HAL:HPL:DMAC","configuration":{"dmac_enable":false,"dmac_lvlen0":false,"dmac_rrlvlen0":"Static arbitration scheme for channel with priority 0","dmac_lvlpri0":0,"dmac_lvlen1":false,"dmac_rrlvlen1":"Static arbitration scheme for channel with priority 1","dmac_lvlpri1":0,"dmac_lvlen2":false,"dmac_rrlvlen2":"Static arbitration scheme for channel with priority 2","dmac_lvlpri2":0,"dmac_lvlen3":false,"dmac_rrlvlen3":"Static arbitration scheme for channel with priority 3","dmac_lvlpri3":0,"dmac_dbgrun":false,"dmac_channel_0_settings":false,"dmac_enable_0":false,"dmac_trigact_0":"One trigger required for each block transfer","dmac_trifsrc_0":"Only software/event triggers","dmac_lvl_0":"Channel priority 0","dmac_evoe_0":false,"dmac_evie_0":false,"dmac_evact_0":"No action","dmac_stepsize_0":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_0":"Step size settings apply to the destination address","dmac_srcinc_0":false,"dmac_dstinc_0":false,"dmac_beatsize_0":"8-bit bus transfer","dmac_blockact_0":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_0":"Event generation disabled","dmac_channel_1_settings":false,"dmac_enable_1":false,"dmac_trigact_1":"One trigger required for each block transfer","dmac_trifsrc_1":"Only software/event triggers","dmac_lvl_1":"Channel priority 0","dmac_evoe_1":false,"dmac_evie_1":false,"dmac_evact_1":"No action","dmac_stepsize_1":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_1":"Step size settings apply to the destination address","dmac_srcinc_1":false,"dmac_dstinc_1":false,"dmac_beatsize_1":"8-bit bus transfer","dmac_blockact_1":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_1":"Event generation disabled","dmac_channel_2_settings":false,"dmac_enable_2":false,"dmac_trigact_2":"One trigger required for each block transfer","dmac_trifsrc_2":"Only software/event triggers","dmac_lvl_2":"Channel priority 0","dmac_evoe_2":false,"dmac_evie_2":false,"dmac_evact_2":"No action","dmac_stepsize_2":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_2":"Step size settings apply to the destination address","dmac_srcinc_2":false,"dmac_dstinc_2":false,"dmac_beatsize_2":"8-bit bus transfer","dmac_blockact_2":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_2":"Event generation disabled","dmac_channel_3_settings":false,"dmac_enable_3":false,"dmac_trigact_3":"One trigger required for each block transfer","dmac_trifsrc_3":"Only software/event triggers","dmac_lvl_3":"Channel priority 0","dmac_evoe_3":false,"dmac_evie_3":false,"dmac_evact_3":"No action","dmac_stepsize_3":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_3":"Step size settings apply to the destination address","dmac_srcinc_3":false,"dmac_dstinc_3":false,"dmac_beatsize_3":"8-bit bus transfer","dmac_blockact_3":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_3":"Event generation disabled","dmac_channel_4_settings":false,"dmac_enable_4":false,"dmac_trigact_4":"One trigger required for each block transfer","dmac_trifsrc_4":"Only software/event triggers","dmac_lvl_4":"Channel priority 0","dmac_evoe_4":false,"dmac_evie_4":false,"dmac_evact_4":"No action","dmac_stepsize_4":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_4":"Step size settings apply to the destination address","dmac_srcinc_4":false,"dmac_dstinc_4":false,"dmac_beatsize_4":"8-bit bus transfer","dmac_blockact_4":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_4":"Event generation disabled","dmac_channel_5_settings":false,"dmac_enable_5":false,"dmac_trigact_5":"One trigger required for each block transfer","dmac_trifsrc_5":"Only software/event triggers","dmac_lvl_5":"Channel priority 0","dmac_evoe_5":false,"dmac_evie_5":false,"dmac_evact_5":"No action","dmac_stepsize_5":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_5":"Step size settings apply to the destination address","dmac_srcinc_5":false,"dmac_dstinc_5":false,"dmac_beatsize_5":"8-bit bus transfer","dmac_blockact_5":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_5":"Event generation disabled","dmac_channel_6_settings":false,"dmac_enable_6":false,"dmac_trigact_6":"One trigger required for each block transfer","dmac_trifsrc_6":"Only software/event triggers","dmac_lvl_6":"Channel priority 0","dmac_evoe_6":false,"dmac_evie_6":false,"dmac_evact_6":"No action","dmac_stepsize_6":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_6":"Step size settings apply to the destination address","dmac_srcinc_6":false,"dmac_dstinc_6":false,"dmac_beatsize_6":"8-bit bus transfer","dmac_blockact_6":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_6":"Event generation disabled","dmac_channel_7_settings":false,"dmac_enable_7":false,"dmac_trigact_7":"One trigger required for each block transfer","dmac_trifsrc_7":"Only software/event triggers","dmac_lvl_7":"Channel priority 0","dmac_evoe_7":false,"dmac_evie_7":false,"dmac_evact_7":"No action","dmac_stepsize_7":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_7":"Step size settings apply to the destination address","dmac_srcinc_7":false,"dmac_dstinc_7":false,"dmac_beatsize_7":"8-bit bus transfer","dmac_blockact_7":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_7":"Event generation disabled","dmac_channel_8_settings":false,"dmac_enable_8":false,"dmac_trigact_8":"One trigger required for each block transfer","dmac_trifsrc_8":"Only software/event triggers","dmac_lvl_8":"Channel priority 0","dmac_evoe_8":false,"dmac_evie_8":false,"dmac_evact_8":"No action","dmac_stepsize_8":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_8":"Step size settings apply to the destination address","dmac_srcinc_8":false,"dmac_dstinc_8":false,"dmac_beatsize_8":"8-bit bus transfer","dmac_blockact_8":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_8":"Event generation disabled","dmac_channel_9_settings":false,"dmac_enable_9":false,"dmac_trigact_9":"One trigger required for each block transfer","dmac_trifsrc_9":"Only software/event triggers","dmac_lvl_9":"Channel priority 0","dmac_evoe_9":false,"dmac_evie_9":false,"dmac_evact_9":"No action","dmac_stepsize_9":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_9":"Step size settings apply to the destination address","dmac_srcinc_9":false,"dmac_dstinc_9":false,"dmac_beatsize_9":"8-bit bus transfer","dmac_blockact_9":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_9":"Event generation disabled","dmac_channel_10_settings":false,"dmac_enable_10":false,"dmac_trigact_10":"One trigger required for each block transfer","dmac_trifsrc_10":"Only software/event triggers","dmac_lvl_10":"Channel priority 0","dmac_evoe_10":false,"dmac_evie_10":false,"dmac_evact_10":"No action","dmac_stepsize_10":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_10":"Step size settings apply to the destination address","dmac_srcinc_10":false,"dmac_dstinc_10":false,"dmac_beatsize_10":"8-bit bus transfer","dmac_blockact_10":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_10":"Event generation disabled","dmac_channel_11_settings":false,"dmac_enable_11":false,"dmac_trigact_11":"One trigger required for each block transfer","dmac_trifsrc_11":"Only software/event triggers","dmac_lvl_11":"Channel priority 0","dmac_evoe_11":false,"dmac_evie_11":false,"dmac_evact_11":"No action","dmac_stepsize_11":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_11":"Step size settings apply to the destination address","dmac_srcinc_11":false,"dmac_dstinc_11":false,"dmac_beatsize_11":"8-bit bus transfer","dmac_blockact_11":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_11":"Event generation disabled","dmac_channel_12_settings":false,"dmac_enable_12":false,"dmac_trigact_12":"One trigger required for each block transfer","dmac_trifsrc_12":"Only software/event triggers","dmac_lvl_12":"Channel priority 0","dmac_evoe_12":false,"dmac_evie_12":false,"dmac_evact_12":"No action","dmac_stepsize_12":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_12":"Step size settings apply to the destination address","dmac_srcinc_12":false,"dmac_dstinc_12":false,"dmac_beatsize_12":"8-bit bus transfer","dmac_blockact_12":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_12":"Event generation disabled","dmac_channel_13_settings":false,"dmac_enable_13":false,"dmac_trigact_13":"One trigger required for each block transfer","dmac_trifsrc_13":"Only software/event triggers","dmac_lvl_13":"Channel priority 0","dmac_evoe_13":false,"dmac_evie_13":false,"dmac_evact_13":"No action","dmac_stepsize_13":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_13":"Step size settings apply to the destination address","dmac_srcinc_13":false,"dmac_dstinc_13":false,"dmac_beatsize_13":"8-bit bus transfer","dmac_blockact_13":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_13":"Event generation disabled","dmac_channel_14_settings":false,"dmac_enable_14":false,"dmac_trigact_14":"One trigger required for each block transfer","dmac_trifsrc_14":"Only software/event triggers","dmac_lvl_14":"Channel priority 0","dmac_evoe_14":false,"dmac_evie_14":false,"dmac_evact_14":"No action","dmac_stepsize_14":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_14":"Step size settings apply to the destination address","dmac_srcinc_14":false,"dmac_dstinc_14":false,"dmac_beatsize_14":"8-bit bus transfer","dmac_blockact_14":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_14":"Event generation disabled","dmac_channel_15_settings":false,"dmac_enable_15":false,"dmac_trigact_15":"One trigger required for each block transfer","dmac_trifsrc_15":"Only software/event triggers","dmac_lvl_15":"Channel priority 0","dmac_evoe_15":false,"dmac_evie_15":false,"dmac_evact_15":"No action","dmac_stepsize_15":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_15":"Step size settings apply to the destination address","dmac_srcinc_15":false,"dmac_dstinc_15":false,"dmac_beatsize_15":"8-bit bus transfer","dmac_blockact_15":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_15":"Event generation disabled"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::DMAC::driver_definition::DMAC::HAL:HPL:DMAC","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::DMAC::driver_config_definition::DMAC::HAL:HPL:DMAC","module":"DMAC"}},{"functionality":null,"identifier":"SYSCTRL","user_label":"SYSCTRL","api":"HAL:HPL:SYSCTRL","configuration":{"enable_osc8m":true,"osc8m_arch_enable":true,"osc8m_arch_ondemand":true,"osc8m_arch_runstdby":false,"osc8m_presc":"8","osc8m_arch_overwrite_calibration":false,"osc8m_arch_calib":0,"enable_osc32k":false,"osc32k_arch_enable":false,"osc32k_arch_ondemand":true,"osc32k_arch_runstdby":false,"osc32k_arch_en32k":false,"osc32k_arch_en1k":false,"osc32k_arch_wrtlock":false,"osc32k_arch_startup":"3 Clock Cycles (92us)","osc32k_arch_overwrite_calibration":false,"osc32k_arch_calib":0,"enable_xosc32k":false,"xosc32k_arch_enable":false,"xosc32k_arch_ondemand":true,"xosc32k_arch_runstdby":false,"xosc32k_arch_en1k":false,"xosc32k_arch_en32k":false,"xosc32k_arch_xtalen":false,"xosc32k_arch_wrtlock":false,"xosc32k_arch_aampen":false,"xosc32k_arch_startup":"122 us","enable_xosc":false,"xosc_frequency":400000,"xosc_arch_enable":false,"xosc_arch_ondemand":true,"xosc_arch_runstdby":false,"xosc_arch_xtalen":false,"xosc_arch_ampgc":false,"xosc_arch_gain":"2Mhz","xosc_arch_startup":"31 us","enable_osculp32k":true,"osculp32k_arch_wrtlock":false,"osculp32k_arch_overwrite_calibration":false,"osculp32k_arch_calib":0,"enable_dfll48m":false,"dfll48m_ref_clock":"Generic clock generator 4","dfll48m_arch_enable":false,"dfll48m_arch_waitlock":false,"dfll48m_arch_bplckc":false,"dfll48m_arch_qldis":false,"dfll48m_arch_ccdis":false,"dfll48m_arch_ondemand":true,"dfll48m_arch_runstdby":false,"dfll48m_arch_usbcrm":true,"dfll48m_arch_llaw":false,"dfll48m_arch_stable":false,"dfll48m_mode":"Closed Loop Mode","dfll_arch_cstep":1,"dfll_arch_fstep":1,"dfll48m_mul":0,"dfll48m_arch_calibration":true,"dfll48m_arch_coarse":10,"dfll48m_arch_fine":512,"enable_fdpll96m":false,"fdpll96m_ref_clock":"Generic clock generator 3","fdpll96m_arch_ondemand":true,"fdpll96m_arch_runstdby":false,"fdpll96m_arch_enable":false,"fdpll96m_arch_lbypass":false,"fdpll96m_clock_div":0,"fdpll96m_ldrfrac":13,"fdpll96m_ldr":1463},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::SYSCTRL::driver_definition::SYSCTRL::HAL:HPL:SYSCTRL","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::SYSCTRL::driver_config_definition::SYSCTRL::HAL:HPL:SYSCTRL","module":"SYSCTRL"}},{"functionality":"ADC","identifier":"ADC_0","user_label":"ADC_0","api":"HAL:Driver:ADC_Sync","configuration":{"adc_resolution":"12-bit","adc_reference":"1.0V voltage reference","adc_prescaler":"Peripheral clock divided by 4","adc_freerunning_mode":false,"adc_differential_mode":false,"adc_pinmux_positive":"ADC AIN0 pin","adc_pinmux_negative":"ADC AIN0 pin","adc_advanced_settings":false,"adc_arch_runstdby":false,"adc_arch_dbgrun":false,"adc_arch_leftadj":false,"adc_arch_refcomp":false,"adc_arch_corren":false,"adc_arch_offsetcorr":0,"adc_arch_gaincorr":0,"adc_arch_gain":"1x","adc_arch_adjres":0,"adc_arch_samplenum":"1 sample","adc_arch_samplen":0,"adc_arch_winmode":"No window mode","adc_arch_winlt":0,"adc_arch_winut":0,"adc_arch_inputscan":0,"adc_arch_inputoffset":0,"adc_arch_event_settings":false,"adc_arch_winmoneo":false,"adc_arch_resrdyeo":false,"adc_arch_syncei":false,"adc_arch_startei":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::ADC::driver_definition::ADC::HAL:Driver:ADC.Sync","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::ADC::driver_config_definition::ADC::HAL:Driver:ADC.Sync","module":"ADC"},"clocks":{"domain_group":{"nodes":[{"name":"ADC","input":"Generic clock generator 0"}],"configuration":{"adc_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"Flash","identifier":"FLASH_0","user_label":"FLASH_0","api":"HAL:Driver:FLASH","configuration":{"nvm_arch_read_mode":"No Miss Penalty","nvm_arch_sleepprm":"Wake On Access","nvm_arch_cache":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::NVMCTRL::driver_definition::Flash::HAL:Driver:FLASH","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::NVMCTRL::driver_config_definition::Flash::HAL:Driver:FLASH","module":"NVMCTRL"}},{"functionality":"SPI","identifier":"SPI_0","user_label":"SPI_0","api":"HAL:Driver:SPI_Master_Sync","configuration":{"spi_master_rx_enable":true,"spi_master_character_size":"8 bits","spi_master_baud_rate":50000,"spi_master_advanced":false,"spi_master_dummybyte":511,"spi_master_arch_dord":"MSB first","spi_master_arch_cpol":"SCK is low when idle","spi_master_arch_cpha":"Sample input on leading edge","spi_master_arch_ibon":"In data stream","spi_master_arch_runstdby":false,"spi_master_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"TXPO=0, RXPO=2","required_signals":[{"label":"MOSI","identifier":"SPI_0:MOSI","name":"SERCOM0/PAD/0","pad":"PA04","configuration":null,"definition":"","mode":"Enabled"},{"label":"MISO","identifier":"SPI_0:MISO","name":"SERCOM0/PAD/2","pad":"PA06","configuration":null,"definition":"","mode":"Enabled"},{"label":"SCK","identifier":"SPI_0:SCK","name":"SERCOM0/PAD/1","pad":"PA05","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::SERCOM::driver_definition::SPI.Master::HAL:Driver:SPI.Master.Sync","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::SERCOM0::driver_config_definition::SPI.Master::HAL:Driver:SPI.Master.Sync","module":"SERCOM0"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"I2C","identifier":"I2C_0","user_label":"I2C_0","api":"HAL:Driver:I2C_Master_Sync","configuration":{"i2c_master_baud_rate":100000,"i2c_master_advanced":false,"i2c_master_arch_trise":215,"i2c_master_arch_mexttoen":false,"i2c_master_arch_sexttoen":false,"i2c_master_arch_lowtout":false,"i2c_master_arch_inactout":"Disabled","i2c_master_arch_sdahold":"300-600ns hold time","i2c_master_arch_runstdby":false,"i2c_master_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"SDA=0, SCL=1","required_signals":[{"label":"SDA","identifier":"I2C_0:SDA","name":"SERCOM1/PAD/0","pad":"PA16","configuration":null,"definition":"","mode":"Enabled"},{"label":"SCL","identifier":"I2C_0:SCL","name":"SERCOM1/PAD/1","pad":"PA17","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::SERCOM::driver_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::SERCOM1::driver_config_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync","module":"SERCOM1"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"USART","identifier":"USART_0","user_label":"USART_0","api":"HAL:Driver:USART_Sync","configuration":{"usart_rx_enable":true,"usart_tx_enable":true,"usart_parity":"No parity","usart_character_size":"8 bits","usart_stop_bit":"One stop bit","usart_baud_rate":9600,"usart_advanced":false,"usart_arch_runstdby":false,"usart_arch_ibon":false,"usart_arch_sfde":false,"usart_arch_cloden":false,"usart_arch_clock_mode":"USART with internal clock","usart_arch_sampr":"16x arithmetic","usart_arch_sampa":"7-8-9 (3-4-5 8-bit over-sampling)","usart_arch_fractional":0,"usart_arch_dord":"LSB is transmitted first","usart_arch_enc":"No encoding","usart_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"TXPO=0, RXPO=1, CMODE=0","required_signals":[{"label":"TX","identifier":"USART_0:TX","name":"SERCOM2/PAD/0","pad":"PA08","configuration":null,"definition":"","mode":"Enabled"},{"label":"RX","identifier":"USART_0:RX","name":"SERCOM2/PAD/1","pad":"PA09","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::SERCOM::driver_definition::UART::HAL:Driver:USART.Sync","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::SERCOM2::driver_config_definition::UART::HAL:Driver:USART.Sync","module":"SERCOM2"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"Delay","identifier":"DELAY_0","user_label":"DELAY_0","api":"HAL:Driver:Delay","configuration":{"systick_arch_tickint":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::SysTick::driver_definition::Delay::HAL:Driver:Delay","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::SysTick::driver_config_definition::Delay::HAL:Driver:Delay","module":"SysTick"}},{"functionality":"Timer","identifier":"TIMER_0","user_label":"TIMER_0","api":"HAL:Driver:Timer","configuration":{"rtc_arch_prescaler":"Peripheral clock divided by 1","rtc_arch_comp_val":1024,"rtc_event_control":false,"rtc_pereo0":false,"rtc_pereo1":false,"rtc_pereo2":false,"rtc_pereo3":false,"rtc_pereo4":false,"rtc_pereo5":false,"rtc_pereo6":false,"rtc_pereo7":false,"rtc_cmpeo0":false,"rtc_ovfeo":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::RTC::driver_definition::Timer::HAL:Driver:Timer","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::RTC::driver_config_definition::Timer::HAL:Driver:Timer","module":"RTC"},"clocks":{"domain_group":{"nodes":[{"name":"RTC","input":"Generic clock generator 0"}],"configuration":{"rtc_clk_selection":"Generic clock generator 0"}}}},{"functionality":"PWM","identifier":"PWM_0","user_label":"PWM_0","api":"HAL:Driver:PWM","configuration":{"tc_prescaler":"Divide by 8","tc_per":50,"tc_arch_wave_per_val":1000,"tc_arch_wave_duty_val":500,"tc_arch_mode":"Counter in 16-bit mode","tc_arch_runstdby":false,"tc_arch_presync":"Reload or reset counter on next GCLK","tc_arch_dbgrun":false,"timer_event_control":false,"tc_arch_ovfeo":false,"tc_arch_tcei":false,"tc_arch_tceinv":false,"tc_arch_evact":"Event action disabled","tc_arch_mceo0":false,"tc_arch_mceo1":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::TC::driver_definition::PWM::HAL:Driver:PWM","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::TC3::driver_config_definition::PWM::HAL:Driver:PWM","module":"TC3"},"clocks":{"domain_group":{"nodes":[{"name":"TC","input":"Generic clock generator 0"}],"configuration":{"tc_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"DAC","identifier":"DAC_0","user_label":"DAC_0","api":"HAL:Driver:DAC_Sync","configuration":{"dac_arch_refsel":"Internal 1.0v reference","dac_advanced_settings":false,"dac_arch_runstdby":false,"dac_arch_bdwp":false,"dac_arch_vpd":false,"dac_arch_leftadj":false,"dac_arch_ioen":false,"dac_arch_eoen":true,"dac_arch_emptyeo":false,"dac_arch_startei":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::DAC::driver_definition::DAC::HAL:Driver:DAC.Sync","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::DAC::driver_config_definition::DAC::HAL:Driver:DAC.Sync","module":"DAC"},"clocks":{"domain_group":{"nodes":[{"name":"DAC","input":"Generic clock generator 0"}],"configuration":{"dac_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"USB","identifier":"USB_0","user_label":"USB_0","api":"HAL:Driver:USB_Device","configuration":{"usbd_num_ep_sp":"4 (EP0 + 3 endpoints)","usbd_arch_max_ep_n":"2 (EP 0x82 or 0x02)","usbd_arch_speed":"Full speed","usb_arch_ep0_cache":"Cached by 64 bytes buffer","usb_arch_ep1_cache":"Cached by 64 bytes buffer","usb_ep1_I_CACHE":"No cache","usb_arch_ep2_cache":"Cached by 64 bytes buffer","usb_ep2_I_CACHE":"No cache","usb_arch_ep3_cache":"Cached by 64 bytes buffer","usb_ep3_I_CACHE":"No cache","usb_arch_ep4_cache":"Cached by 64 bytes buffer","usb_ep4_I_CACHE":"No cache","usb_arch_ep5_cache":"Cached by 64 bytes buffer","usb_ep5_I_CACHE":"No cache","usb_arch_ep6_cache":"Cached by 64 bytes buffer","usb_ep6_I_CACHE":"No cache","usb_arch_ep7_cache":"Cached by 64 bytes buffer","usb_ep7_I_CACHE":"No cache"},"dependencies":{},"optional_signals":[],"variant":{"specification":"default","required_signals":[{"label":"Data-","identifier":"USB_0:Data-","name":"USB/DM","pad":"PA24","configuration":null,"definition":"","mode":"Enabled"},{"label":"Data+","identifier":"USB_0:Data+","name":"USB/DP","pad":"PA25","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD21_Drivers:0.0.1::USB::driver_definition::USB.Device::HAL:Driver:USB.Device","identifier":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::USB::driver_config_definition::USB.Device::HAL:Driver:USB.Device","module":"USB"},"clocks":{"domain_group":{"nodes":[{"name":"USB","input":"Generic clock generator 0"}],"configuration":{"usb_gclk_selection":"Generic clock generator 0"}}}}],"pads":[{"name":"PA00","user_label":"PA00","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA00","mode":"Digital input","configuration":null},{"name":"PA01","user_label":"PA01","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA01","mode":"Digital input","configuration":null},{"name":"PA02","user_label":"PA02","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA02","mode":"Digital input","configuration":null},{"name":"PA03","user_label":"PA03","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA03","mode":"Digital input","configuration":null},{"name":"PB08","user_label":"PB08","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB08","mode":"Digital input","configuration":null},{"name":"PB09","user_label":"PB09","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB09","mode":"Digital input","configuration":null},{"name":"PA04","user_label":"PA04","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA04","mode":"Digital output","configuration":null},{"name":"PA05","user_label":"PA05","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA05","mode":"Digital output","configuration":null},{"name":"PA06","user_label":"PA06","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA06","mode":"Digital input","configuration":null},{"name":"PA07","user_label":"PA07","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA07","mode":"Digital input","configuration":null},{"name":"PA08","user_label":"PA08","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA08","mode":"Peripheral IO","configuration":null},{"name":"PA09","user_label":"PA09","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA09","mode":"Peripheral IO","configuration":null},{"name":"PA10","user_label":"PA10","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA10","mode":"Digital input","configuration":null},{"name":"PA11","user_label":"PA11","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA11","mode":"Digital input","configuration":null},{"name":"PB10","user_label":"PB10","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB10","mode":"Digital input","configuration":null},{"name":"PB11","user_label":"PB11","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB11","mode":"Digital input","configuration":null},{"name":"PA12","user_label":"PA12","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA12","mode":"Digital input","configuration":null},{"name":"PA13","user_label":"PA13","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA13","mode":"Digital input","configuration":null},{"name":"PA14","user_label":"PA14","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA14","mode":"Digital input","configuration":null},{"name":"PA15","user_label":"PA15","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA15","mode":"Digital input","configuration":null},{"name":"PA16","user_label":"PA16","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA16","mode":"I2C","configuration":null},{"name":"PA17","user_label":"PA17","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA17","mode":"I2C","configuration":null},{"name":"PA18","user_label":"PA18","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA18","mode":"Digital input","configuration":null},{"name":"PA19","user_label":"PA19","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA19","mode":"Digital input","configuration":null},{"name":"PA20","user_label":"PA20","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA20","mode":"Digital input","configuration":null},{"name":"PA21","user_label":"PA21","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA21","mode":"Digital input","configuration":null},{"name":"PA22","user_label":"PA22","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA22","mode":"Digital input","configuration":null},{"name":"PA23","user_label":"PA23","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA23","mode":"Digital input","configuration":null},{"name":"PA24","user_label":"PA24","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA24","mode":"Advanced","configuration":null},{"name":"PA25","user_label":"PA25","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA25","mode":"Advanced","configuration":null},{"name":"PB22","user_label":"PB22","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB22","mode":"Digital input","configuration":null},{"name":"PB23","user_label":"PB23","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB23","mode":"Digital input","configuration":null},{"name":"PA27","user_label":"PA27","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA27","mode":"Digital input","configuration":null},{"name":"PA28","user_label":"PA28","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA28","mode":"Digital input","configuration":null},{"name":"PA30","user_label":"PA30","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA30","mode":"Digital input","configuration":null},{"name":"PA31","user_label":"PA31","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PA31","mode":"Digital input","configuration":null},{"name":"PB02","user_label":"PB02","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB02","mode":"Digital input","configuration":null},{"name":"PB03","user_label":"PB03","definition":"Atmel:SAMD21_Drivers:0.0.1::SAMD21G18A-MF::pad::PB03","mode":"Digital input","configuration":null}]} diff --git a/atmel-samd/tools/samd51.json b/atmel-samd/tools/samd51.json new file mode 100644 index 000000000..5fe35c073 --- /dev/null +++ b/atmel-samd/tools/samd51.json @@ -0,0 +1 @@ +{"jsonForm":"=1","formatVersion":2,"board":{"identifier":"CustomBoard","device":"SAMD51G19A-MF"},"identifier":"","name":"My Project","details":null,"application":null,"middlewares":[{"functionality":"USB_Device_COMPOSITE","identifier":"USB_DEVICE_COMPOSITE_0","user_label":"USB_DEVICE_COMPOSITE_0","api":"USB:Device:COMPOSITE","configuration":{"usb_composite_bcdusb":"USB 2.0 version","usb_composite_bmaxpksz0":"64 bytes","usb_composite_idvender":1003,"usb_composite_idproduct":9249,"usb_composite_bcddevice":256,"usb_composite_imanufact":0,"usb_composite_iproduct":0,"usb_composite_iserialnum":0,"usb_composite_bnumconfig":1,"usb_composite_bconfigval":1,"usb_composite_iconfig":0,"usb_composite_bmattri":"Bus power supply, not support for remote wakeup","usb_composite_bmaxpower":50,"usb_composite_cdc_acm_support":false,"usb_composite_cdc_acm_epaddr":"EndpointAddress = 0x82","usb_composite_cdc_acm_comm_int_maxpksz":"64 bytes","usb_composite_cdc_acm_data_bulkin_epaddr":"EndpointAddress = 0x81","usb_composite_cdc_acm_data_builin_maxpksz":"64 bytes","usb_composite_cdc_acm_data_bulkout_epaddr":"EndpointAddress = 0x01","usb_composite_cdc_acm_data_buckout_maxpksz":"64 bytes","usb_composite_hid_mouse_support":false,"usb_composite_hid_mouse_intin_epaddr":"EndpointAddress = 0x83","usb_composite_hid_mouse_intin_maxpksz":"8 bytes","usb_composite_hid_keyboard_support":false,"usb_composite_hid_keyboard_intin_epaddr":"EndpointAddress = 0x84","usb_composite_hid_keyboard_intin_maxpksz":"8 bytes","usb_composite_hid_keyboard_intout_epaddr":"EndpointAddress = 0x02","usb_composite_hid_keyboard_intout_maxpksz":"8 bytes","usb_composite_hid_generic_support":false,"usb_composite_hid_generic_intin_epaddr":"EndpointAddress = 0x85","usb_composite_hid_generic_intin_maxpksz":"64 bytes","usb_composite_hid_generic_intout_epaddr":"EndpointAddress = 0x03","usb_composite_hid_generic_intout_maxpksz":"64 bytes"},"dependencies":{"USB Class VENDOR":"USB_CLASS_VENDOR","USB Class HUB":"USB_CLASS_HUB","USB Class MSC":"USB_CLASS_MSC","USB Class CDC":"USB_CLASS_CDC","USB Class HID":"USB_CLASS_HID","USB Device Stack Core Instance":"USB_DEVICE_STACK_CORE_INSTANCE"},"definition":"Atmel:USB:0.0.1::USB_Device_Composite"},{"functionality":"USB_Device_Core","identifier":"USB_DEVICE_STACK_CORE_INSTANCE","user_label":"USB_DEVICE_STACK_CORE_INSTANCE","api":"USB:Device:Core","configuration":{},"dependencies":{"USB Device instance":"USB_DEVICE_INSTANCE","USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Device_Core"},{"functionality":"USB_Class_HID","identifier":"USB_CLASS_HID","user_label":"USB_CLASS_HID","api":"USB:Protocol:HID","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_HID"},{"functionality":"USB_Class_CDC","identifier":"USB_CLASS_CDC","user_label":"USB_CLASS_CDC","api":"USB:Protocol:CDC","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_CDC"},{"functionality":"USB_Class_Mass_Storage_(MSC)","identifier":"USB_CLASS_MSC","user_label":"USB_CLASS_MSC","api":"USB:Protocol:MSC","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_MSC"},{"functionality":"USB_Class_HUB","identifier":"USB_CLASS_HUB","user_label":"USB_CLASS_HUB","api":"USB:Protocol:HUB","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_HUB"},{"functionality":"USB_Class_VENDOR","identifier":"USB_CLASS_VENDOR","user_label":"USB_CLASS_VENDOR","api":"USB:Protocol:VENDOR","configuration":{},"dependencies":{"USB Chapter 9":"USB_CHAPTER_9"},"definition":"Atmel:USB:0.0.1::USB_Class_VENDOR"},{"functionality":"USB_Chapter_9","identifier":"USB_CHAPTER_9","user_label":"USB_CHAPTER_9","api":"USB:Protocol:Core","configuration":{},"dependencies":{},"definition":"Atmel:USB:0.0.1::USB_Chapter_9"}],"drivers":[{"functionality":null,"identifier":"GCLK","user_label":"GCLK","api":"HAL:HPL:GCLK","configuration":{"enable_gclk_gen_0":true,"gclk_gen_0_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_0_runstdby":false,"gclk_gen_0_div_sel":false,"gclk_arch_gen_0_oe":false,"gclk_arch_gen_0_oov":false,"gclk_arch_gen_0_idc":false,"gclk_arch_gen_0_enable":true,"gclk_gen_0_div":1,"enable_gclk_gen_1":false,"gclk_gen_1_oscillator":"Digital Frequency Locked Loop (DFLL48M)","gclk_arch_gen_1_runstdby":false,"gclk_gen_1_div_sel":false,"gclk_arch_gen_1_oe":false,"gclk_arch_gen_1_oov":false,"gclk_arch_gen_1_idc":false,"gclk_arch_gen_1_enable":false,"gclk_gen_1_div":1,"enable_gclk_gen_2":false,"gclk_gen_2_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_2_runstdby":false,"gclk_gen_2_div_sel":true,"gclk_arch_gen_2_oe":false,"gclk_arch_gen_2_oov":false,"gclk_arch_gen_2_idc":false,"gclk_arch_gen_2_enable":false,"gclk_gen_2_div":1,"enable_gclk_gen_3":false,"gclk_gen_3_oscillator":"32kHz External Crystal Oscillator (XOSC32K)","gclk_arch_gen_3_runstdby":false,"gclk_gen_3_div_sel":false,"gclk_arch_gen_3_oe":false,"gclk_arch_gen_3_oov":false,"gclk_arch_gen_3_idc":false,"gclk_arch_gen_3_enable":false,"gclk_gen_3_div":1,"enable_gclk_gen_4":false,"gclk_gen_4_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_4_runstdby":false,"gclk_gen_4_div_sel":false,"gclk_arch_gen_4_oe":false,"gclk_arch_gen_4_oov":false,"gclk_arch_gen_4_idc":false,"gclk_arch_gen_4_enable":false,"gclk_gen_4_div":1,"enable_gclk_gen_5":false,"gclk_gen_5_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_5_runstdby":false,"gclk_gen_5_div_sel":false,"gclk_arch_gen_5_oe":false,"gclk_arch_gen_5_oov":false,"gclk_arch_gen_5_idc":false,"gclk_arch_gen_5_enable":false,"gclk_gen_5_div":1,"enable_gclk_gen_6":false,"gclk_gen_6_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_6_runstdby":false,"gclk_gen_6_div_sel":false,"gclk_arch_gen_6_oe":false,"gclk_arch_gen_6_oov":false,"gclk_arch_gen_6_idc":false,"gclk_arch_gen_6_enable":false,"gclk_gen_6_div":1,"enable_gclk_gen_7":false,"gclk_gen_7_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_7_runstdby":false,"gclk_gen_7_div_sel":false,"gclk_arch_gen_7_oe":false,"gclk_arch_gen_7_oov":false,"gclk_arch_gen_7_idc":false,"gclk_arch_gen_7_enable":false,"gclk_gen_7_div":1,"enable_gclk_gen_8":false,"gclk_gen_8_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_8_runstdby":false,"gclk_gen_8_div_sel":false,"gclk_arch_gen_8_oe":false,"gclk_arch_gen_8_oov":false,"gclk_arch_gen_8_idc":false,"gclk_arch_gen_8_enable":false,"gclk_gen_8_div":1,"enable_gclk_gen_9":false,"gclk_gen_9_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_9_runstdby":false,"gclk_gen_9_div_sel":false,"gclk_arch_gen_9_oe":false,"gclk_arch_gen_9_oov":false,"gclk_arch_gen_9_idc":false,"gclk_arch_gen_9_enable":false,"gclk_gen_9_div":1,"enable_gclk_gen_10":false,"gclk_gen_10_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_10_runstdby":false,"gclk_gen_10_div_sel":false,"gclk_arch_gen_10_oe":false,"gclk_arch_gen_10_oov":false,"gclk_arch_gen_10_idc":false,"gclk_arch_gen_10_enable":false,"gclk_gen_10_div":1,"enable_gclk_gen_11":false,"gclk_gen_11_oscillator":"External Crystal Oscillator 8-48MHz (XOSC1)","gclk_arch_gen_11_runstdby":false,"gclk_gen_11_div_sel":false,"gclk_arch_gen_11_oe":false,"gclk_arch_gen_11_oov":false,"gclk_arch_gen_11_idc":false,"gclk_arch_gen_11_enable":false,"gclk_gen_11_div":1},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::GCLK::driver_definition::GCLK::HAL:HPL:GCLK","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::GCLK::driver_config_definition::GCLK::HAL:HPL:GCLK","module":"GCLK"}},{"functionality":null,"identifier":"OSC32KCTRL","user_label":"OSC32KCTRL","api":"HAL:HPL:OSC32KCTRL","configuration":{"enable_rtc_source":false,"rtc_source_oscillator":"32kHz Ultra Low Power Internal Oscillator (OSCULP32K)","rtc_1khz_selection":true,"enable_xosc32k":false,"xosc32k_arch_enable":false,"xosc32k_arch_startup":"62592us","xosc32k_arch_ondemand":true,"xosc32k_arch_runstdby":false,"xosc32k_arch_en1k":false,"xosc32k_arch_en32k":false,"xosc32k_arch_swben":false,"xosc32k_arch_cfden":false,"xosc32k_arch_cfdeo":false,"xosc32k_arch_xtalen":false,"xosc32k_arch_cgm":"Standard mode","enable_osculp32k":true,"osculp32k_calib_enable":false,"osculp32k_calib":0},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::OSC32KCTRL::driver_definition::OSC32KCTRL::HAL:HPL:OSC32KCTRL","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::OSC32KCTRL::driver_config_definition::OSC32KCTRL::HAL:HPL:OSC32KCTRL","module":"OSC32KCTRL"}},{"functionality":null,"identifier":"MCLK","user_label":"MCLK","api":"HAL:HPL:MCLK","configuration":{"enable_cpu_clock":true,"cpu_clock_source":"Generic clock generator 0","cpu_div":"1","mclk_arch_lpdiv":"Divide by 4","mclk_arch_bupdiv":"Divide by 8","mclk_arch_hsdiv":"Divide by 1","nvm_wait_states":"0"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::MCLK::driver_definition::MCLK::HAL:HPL:MCLK","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::MCLK::driver_config_definition::MCLK::HAL:HPL:MCLK","module":"MCLK"},"clocks":{"domain_group":{"nodes":[{"name":"CPU","input":"CPU"}],"configuration":{}}}},{"functionality":null,"identifier":"DMAC","user_label":"DMAC","api":"HAL:HPL:DMAC","configuration":{"dmac_enable":false,"dmac_lvlen0":true,"dmac_rrlvlen0":"Static arbitration scheme for channel with priority 0","dmac_lvlpri0":0,"dmac_lvlen1":true,"dmac_rrlvlen1":"Static arbitration scheme for channel with priority 1","dmac_lvlpri1":0,"dmac_lvlen2":true,"dmac_rrlvlen2":"Static arbitration scheme for channel with priority 2","dmac_lvlpri2":0,"dmac_lvlen3":true,"dmac_rrlvlen3":"Static arbitration scheme for channel with priority 3","dmac_lvlpri3":0,"dmac_dbgrun":false,"dmac_channel_0_settings":false,"dmac_runstdby_0":false,"dmac_trigact_0":"One trigger required for each block transfer","dmac_trifsrc_0":"Only software/event triggers","dmac_lvl_0":"Channel priority 0","dmac_evoe_0":false,"dmac_evie_0":false,"dmac_evact_0":"No action","dmac_stepsize_0":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_0":"Step size settings apply to the destination address","dmac_srcinc_0":false,"dmac_dstinc_0":false,"dmac_beatsize_0":"8-bit bus transfer","dmac_blockact_0":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_0":"Event generation disabled","dmac_channel_1_settings":false,"dmac_runstdby_1":false,"dmac_trigact_1":"One trigger required for each block transfer","dmac_trifsrc_1":"Only software/event triggers","dmac_lvl_1":"Channel priority 0","dmac_evoe_1":false,"dmac_evie_1":false,"dmac_evact_1":"No action","dmac_stepsize_1":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_1":"Step size settings apply to the destination address","dmac_srcinc_1":false,"dmac_dstinc_1":false,"dmac_beatsize_1":"8-bit bus transfer","dmac_blockact_1":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_1":"Event generation disabled","dmac_channel_2_settings":false,"dmac_runstdby_2":false,"dmac_trigact_2":"One trigger required for each block transfer","dmac_trifsrc_2":"Only software/event triggers","dmac_lvl_2":"Channel priority 0","dmac_evoe_2":false,"dmac_evie_2":false,"dmac_evact_2":"No action","dmac_stepsize_2":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_2":"Step size settings apply to the destination address","dmac_srcinc_2":false,"dmac_dstinc_2":false,"dmac_beatsize_2":"8-bit bus transfer","dmac_blockact_2":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_2":"Event generation disabled","dmac_channel_3_settings":false,"dmac_runstdby_3":false,"dmac_trigact_3":"One trigger required for each block transfer","dmac_trifsrc_3":"Only software/event triggers","dmac_lvl_3":"Channel priority 0","dmac_evoe_3":false,"dmac_evie_3":false,"dmac_evact_3":"No action","dmac_stepsize_3":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_3":"Step size settings apply to the destination address","dmac_srcinc_3":false,"dmac_dstinc_3":false,"dmac_beatsize_3":"8-bit bus transfer","dmac_blockact_3":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_3":"Event generation disabled","dmac_channel_4_settings":false,"dmac_runstdby_4":false,"dmac_trigact_4":"One trigger required for each block transfer","dmac_trifsrc_4":"Only software/event triggers","dmac_lvl_4":"Channel priority 0","dmac_evoe_4":false,"dmac_evie_4":false,"dmac_evact_4":"No action","dmac_stepsize_4":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_4":"Step size settings apply to the destination address","dmac_srcinc_4":false,"dmac_dstinc_4":false,"dmac_beatsize_4":"8-bit bus transfer","dmac_blockact_4":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_4":"Event generation disabled","dmac_channel_5_settings":false,"dmac_runstdby_5":false,"dmac_trigact_5":"One trigger required for each block transfer","dmac_trifsrc_5":"Only software/event triggers","dmac_lvl_5":"Channel priority 0","dmac_evoe_5":false,"dmac_evie_5":false,"dmac_evact_5":"No action","dmac_stepsize_5":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_5":"Step size settings apply to the destination address","dmac_srcinc_5":false,"dmac_dstinc_5":false,"dmac_beatsize_5":"8-bit bus transfer","dmac_blockact_5":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_5":"Event generation disabled","dmac_channel_6_settings":false,"dmac_runstdby_6":false,"dmac_trigact_6":"One trigger required for each block transfer","dmac_trifsrc_6":"Only software/event triggers","dmac_lvl_6":"Channel priority 0","dmac_evoe_6":false,"dmac_evie_6":false,"dmac_evact_6":"No action","dmac_stepsize_6":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_6":"Step size settings apply to the destination address","dmac_srcinc_6":false,"dmac_dstinc_6":false,"dmac_beatsize_6":"8-bit bus transfer","dmac_blockact_6":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_6":"Event generation disabled","dmac_channel_7_settings":false,"dmac_runstdby_7":false,"dmac_trigact_7":"One trigger required for each block transfer","dmac_trifsrc_7":"Only software/event triggers","dmac_lvl_7":"Channel priority 0","dmac_evoe_7":false,"dmac_evie_7":false,"dmac_evact_7":"No action","dmac_stepsize_7":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_7":"Step size settings apply to the destination address","dmac_srcinc_7":false,"dmac_dstinc_7":false,"dmac_beatsize_7":"8-bit bus transfer","dmac_blockact_7":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_7":"Event generation disabled","dmac_channel_8_settings":false,"dmac_runstdby_8":false,"dmac_trigact_8":"One trigger required for each block transfer","dmac_trifsrc_8":"Only software/event triggers","dmac_lvl_8":"Channel priority 0","dmac_evoe_8":false,"dmac_evie_8":false,"dmac_evact_8":"No action","dmac_stepsize_8":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_8":"Step size settings apply to the destination address","dmac_srcinc_8":false,"dmac_dstinc_8":false,"dmac_beatsize_8":"8-bit bus transfer","dmac_blockact_8":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_8":"Event generation disabled","dmac_channel_9_settings":false,"dmac_runstdby_9":false,"dmac_trigact_9":"One trigger required for each block transfer","dmac_trifsrc_9":"Only software/event triggers","dmac_lvl_9":"Channel priority 0","dmac_evoe_9":false,"dmac_evie_9":false,"dmac_evact_9":"No action","dmac_stepsize_9":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_9":"Step size settings apply to the destination address","dmac_srcinc_9":false,"dmac_dstinc_9":false,"dmac_beatsize_9":"8-bit bus transfer","dmac_blockact_9":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_9":"Event generation disabled","dmac_channel_10_settings":false,"dmac_runstdby_10":false,"dmac_trigact_10":"One trigger required for each block transfer","dmac_trifsrc_10":"Only software/event triggers","dmac_lvl_10":"Channel priority 0","dmac_evoe_10":false,"dmac_evie_10":false,"dmac_evact_10":"No action","dmac_stepsize_10":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_10":"Step size settings apply to the destination address","dmac_srcinc_10":false,"dmac_dstinc_10":false,"dmac_beatsize_10":"8-bit bus transfer","dmac_blockact_10":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_10":"Event generation disabled","dmac_channel_11_settings":false,"dmac_runstdby_11":false,"dmac_trigact_11":"One trigger required for each block transfer","dmac_trifsrc_11":"Only software/event triggers","dmac_lvl_11":"Channel priority 0","dmac_evoe_11":false,"dmac_evie_11":false,"dmac_evact_11":"No action","dmac_stepsize_11":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_11":"Step size settings apply to the destination address","dmac_srcinc_11":false,"dmac_dstinc_11":false,"dmac_beatsize_11":"8-bit bus transfer","dmac_blockact_11":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_11":"Event generation disabled","dmac_channel_12_settings":false,"dmac_runstdby_12":false,"dmac_trigact_12":"One trigger required for each block transfer","dmac_trifsrc_12":"Only software/event triggers","dmac_lvl_12":"Channel priority 0","dmac_evoe_12":false,"dmac_evie_12":false,"dmac_evact_12":"No action","dmac_stepsize_12":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_12":"Step size settings apply to the destination address","dmac_srcinc_12":false,"dmac_dstinc_12":false,"dmac_beatsize_12":"8-bit bus transfer","dmac_blockact_12":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_12":"Event generation disabled","dmac_channel_13_settings":false,"dmac_runstdby_13":false,"dmac_trigact_13":"One trigger required for each block transfer","dmac_trifsrc_13":"Only software/event triggers","dmac_lvl_13":"Channel priority 0","dmac_evoe_13":false,"dmac_evie_13":false,"dmac_evact_13":"No action","dmac_stepsize_13":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_13":"Step size settings apply to the destination address","dmac_srcinc_13":false,"dmac_dstinc_13":false,"dmac_beatsize_13":"8-bit bus transfer","dmac_blockact_13":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_13":"Event generation disabled","dmac_channel_14_settings":false,"dmac_runstdby_14":false,"dmac_trigact_14":"One trigger required for each block transfer","dmac_trifsrc_14":"Only software/event triggers","dmac_lvl_14":"Channel priority 0","dmac_evoe_14":false,"dmac_evie_14":false,"dmac_evact_14":"No action","dmac_stepsize_14":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_14":"Step size settings apply to the destination address","dmac_srcinc_14":false,"dmac_dstinc_14":false,"dmac_beatsize_14":"8-bit bus transfer","dmac_blockact_14":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_14":"Event generation disabled","dmac_channel_15_settings":false,"dmac_runstdby_15":false,"dmac_trigact_15":"One trigger required for each block transfer","dmac_trifsrc_15":"Only software/event triggers","dmac_lvl_15":"Channel priority 0","dmac_evoe_15":false,"dmac_evie_15":false,"dmac_evact_15":"No action","dmac_stepsize_15":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_15":"Step size settings apply to the destination address","dmac_srcinc_15":false,"dmac_dstinc_15":false,"dmac_beatsize_15":"8-bit bus transfer","dmac_blockact_15":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_15":"Event generation disabled","dmac_channel_16_settings":false,"dmac_runstdby_16":false,"dmac_trigact_16":"One trigger required for each block transfer","dmac_trifsrc_16":"Only software/event triggers","dmac_lvl_16":"Channel priority 0","dmac_evoe_16":false,"dmac_evie_16":false,"dmac_evact_16":"No action","dmac_stepsize_16":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_16":"Step size settings apply to the destination address","dmac_srcinc_16":false,"dmac_dstinc_16":false,"dmac_beatsize_16":"8-bit bus transfer","dmac_blockact_16":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_16":"Event generation disabled","dmac_channel_17_settings":false,"dmac_runstdby_17":false,"dmac_trigact_17":"One trigger required for each block transfer","dmac_trifsrc_17":"Only software/event triggers","dmac_lvl_17":"Channel priority 0","dmac_evoe_17":false,"dmac_evie_17":false,"dmac_evact_17":"No action","dmac_stepsize_17":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_17":"Step size settings apply to the destination address","dmac_srcinc_17":false,"dmac_dstinc_17":false,"dmac_beatsize_17":"8-bit bus transfer","dmac_blockact_17":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_17":"Event generation disabled","dmac_channel_18_settings":false,"dmac_runstdby_18":false,"dmac_trigact_18":"One trigger required for each block transfer","dmac_trifsrc_18":"Only software/event triggers","dmac_lvl_18":"Channel priority 0","dmac_evoe_18":false,"dmac_evie_18":false,"dmac_evact_18":"No action","dmac_stepsize_18":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_18":"Step size settings apply to the destination address","dmac_srcinc_18":false,"dmac_dstinc_18":false,"dmac_beatsize_18":"8-bit bus transfer","dmac_blockact_18":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_18":"Event generation disabled","dmac_channel_19_settings":false,"dmac_runstdby_19":false,"dmac_trigact_19":"One trigger required for each block transfer","dmac_trifsrc_19":"Only software/event triggers","dmac_lvl_19":"Channel priority 0","dmac_evoe_19":false,"dmac_evie_19":false,"dmac_evact_19":"No action","dmac_stepsize_19":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_19":"Step size settings apply to the destination address","dmac_srcinc_19":false,"dmac_dstinc_19":false,"dmac_beatsize_19":"8-bit bus transfer","dmac_blockact_19":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_19":"Event generation disabled","dmac_channel_20_settings":false,"dmac_runstdby_20":false,"dmac_trigact_20":"One trigger required for each block transfer","dmac_trifsrc_20":"Only software/event triggers","dmac_lvl_20":"Channel priority 0","dmac_evoe_20":false,"dmac_evie_20":false,"dmac_evact_20":"No action","dmac_stepsize_20":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_20":"Step size settings apply to the destination address","dmac_srcinc_20":false,"dmac_dstinc_20":false,"dmac_beatsize_20":"8-bit bus transfer","dmac_blockact_20":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_20":"Event generation disabled","dmac_channel_21_settings":false,"dmac_runstdby_21":false,"dmac_trigact_21":"One trigger required for each block transfer","dmac_trifsrc_21":"Only software/event triggers","dmac_lvl_21":"Channel priority 0","dmac_evoe_21":false,"dmac_evie_21":false,"dmac_evact_21":"No action","dmac_stepsize_21":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_21":"Step size settings apply to the destination address","dmac_srcinc_21":false,"dmac_dstinc_21":false,"dmac_beatsize_21":"8-bit bus transfer","dmac_blockact_21":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_21":"Event generation disabled","dmac_channel_22_settings":false,"dmac_runstdby_22":false,"dmac_trigact_22":"One trigger required for each block transfer","dmac_trifsrc_22":"Only software/event triggers","dmac_lvl_22":"Channel priority 0","dmac_evoe_22":false,"dmac_evie_22":false,"dmac_evact_22":"No action","dmac_stepsize_22":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_22":"Step size settings apply to the destination address","dmac_srcinc_22":false,"dmac_dstinc_22":false,"dmac_beatsize_22":"8-bit bus transfer","dmac_blockact_22":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_22":"Event generation disabled","dmac_channel_23_settings":false,"dmac_runstdby_23":false,"dmac_trigact_23":"One trigger required for each block transfer","dmac_trifsrc_23":"Only software/event triggers","dmac_lvl_23":"Channel priority 0","dmac_evoe_23":false,"dmac_evie_23":false,"dmac_evact_23":"No action","dmac_stepsize_23":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_23":"Step size settings apply to the destination address","dmac_srcinc_23":false,"dmac_dstinc_23":false,"dmac_beatsize_23":"8-bit bus transfer","dmac_blockact_23":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_23":"Event generation disabled","dmac_channel_24_settings":false,"dmac_runstdby_24":false,"dmac_trigact_24":"One trigger required for each block transfer","dmac_trifsrc_24":"Only software/event triggers","dmac_lvl_24":"Channel priority 0","dmac_evoe_24":false,"dmac_evie_24":false,"dmac_evact_24":"No action","dmac_stepsize_24":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_24":"Step size settings apply to the destination address","dmac_srcinc_24":false,"dmac_dstinc_24":false,"dmac_beatsize_24":"8-bit bus transfer","dmac_blockact_24":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_24":"Event generation disabled","dmac_channel_25_settings":false,"dmac_runstdby_25":false,"dmac_trigact_25":"One trigger required for each block transfer","dmac_trifsrc_25":"Only software/event triggers","dmac_lvl_25":"Channel priority 0","dmac_evoe_25":false,"dmac_evie_25":false,"dmac_evact_25":"No action","dmac_stepsize_25":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_25":"Step size settings apply to the destination address","dmac_srcinc_25":false,"dmac_dstinc_25":false,"dmac_beatsize_25":"8-bit bus transfer","dmac_blockact_25":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_25":"Event generation disabled","dmac_channel_26_settings":false,"dmac_runstdby_26":false,"dmac_trigact_26":"One trigger required for each block transfer","dmac_trifsrc_26":"Only software/event triggers","dmac_lvl_26":"Channel priority 0","dmac_evoe_26":false,"dmac_evie_26":false,"dmac_evact_26":"No action","dmac_stepsize_26":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_26":"Step size settings apply to the destination address","dmac_srcinc_26":false,"dmac_dstinc_26":false,"dmac_beatsize_26":"8-bit bus transfer","dmac_blockact_26":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_26":"Event generation disabled","dmac_channel_27_settings":false,"dmac_runstdby_27":false,"dmac_trigact_27":"One trigger required for each block transfer","dmac_trifsrc_27":"Only software/event triggers","dmac_lvl_27":"Channel priority 0","dmac_evoe_27":false,"dmac_evie_27":false,"dmac_evact_27":"No action","dmac_stepsize_27":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_27":"Step size settings apply to the destination address","dmac_srcinc_27":false,"dmac_dstinc_27":false,"dmac_beatsize_27":"8-bit bus transfer","dmac_blockact_27":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_27":"Event generation disabled","dmac_channel_28_settings":false,"dmac_runstdby_28":false,"dmac_trigact_28":"One trigger required for each block transfer","dmac_trifsrc_28":"Only software/event triggers","dmac_lvl_28":"Channel priority 0","dmac_evoe_28":false,"dmac_evie_28":false,"dmac_evact_28":"No action","dmac_stepsize_28":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_28":"Step size settings apply to the destination address","dmac_srcinc_28":false,"dmac_dstinc_28":false,"dmac_beatsize_28":"8-bit bus transfer","dmac_blockact_28":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_28":"Event generation disabled","dmac_channel_29_settings":false,"dmac_runstdby_29":false,"dmac_trigact_29":"One trigger required for each block transfer","dmac_trifsrc_29":"Only software/event triggers","dmac_lvl_29":"Channel priority 0","dmac_evoe_29":false,"dmac_evie_29":false,"dmac_evact_29":"No action","dmac_stepsize_29":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_29":"Step size settings apply to the destination address","dmac_srcinc_29":false,"dmac_dstinc_29":false,"dmac_beatsize_29":"8-bit bus transfer","dmac_blockact_29":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_29":"Event generation disabled","dmac_channel_30_settings":false,"dmac_runstdby_30":false,"dmac_trigact_30":"One trigger required for each block transfer","dmac_trifsrc_30":"Only software/event triggers","dmac_lvl_30":"Channel priority 0","dmac_evoe_30":false,"dmac_evie_30":false,"dmac_evact_30":"No action","dmac_stepsize_30":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_30":"Step size settings apply to the destination address","dmac_srcinc_30":false,"dmac_dstinc_30":false,"dmac_beatsize_30":"8-bit bus transfer","dmac_blockact_30":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_30":"Event generation disabled","dmac_channel_31_settings":false,"dmac_runstdby_31":false,"dmac_trigact_31":"One trigger required for each block transfer","dmac_trifsrc_31":"Only software/event triggers","dmac_lvl_31":"Channel priority 0","dmac_evoe_31":false,"dmac_evie_31":false,"dmac_evact_31":"No action","dmac_stepsize_31":"Next ADDR = ADDR + (BEATSIZE + 1) * 1","dmac_stepsel_31":"Step size settings apply to the destination address","dmac_srcinc_31":false,"dmac_dstinc_31":false,"dmac_beatsize_31":"8-bit bus transfer","dmac_blockact_31":"Channel will be disabled if it is the last block transfer in the transaction","dmac_evosel_31":"Event generation disabled"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::DMAC::driver_definition::DMAC::HAL:HPL:DMAC","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::DMAC::driver_config_definition::DMAC::HAL:HPL:DMAC","module":"DMAC"}},{"functionality":null,"identifier":"RAMECC","user_label":"RAMECC","api":"HAL:HPL:RAMECC","configuration":{},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::RAMECC::driver_definition::RAMECC::HAL:HPL:RAMECC","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::RAMECC::driver_config_definition::RAMECC::HAL:HPL:RAMECC","module":"RAMECC"}},{"functionality":null,"identifier":"OSCCTRL","user_label":"OSCCTRL","api":"HAL:HPL:OSCCTRL","configuration":{"enable_xosc0":false,"xosc0_frequency":12000000,"xosc0_arch_enable":false,"xosc0_arch_startup":"31us","xosc0_arch_swben":false,"xosc0_arch_cfden":false,"xosc0_arch_enalc":false,"xosc0_arch_lowbufgain":false,"xosc0_arch_ondemand":false,"xosc0_arch_runstdby":false,"xosc0_arch_xtalen":false,"enable_xosc1":true,"xosc1_frequency":12000000,"xosc1_arch_enable":true,"xosc1_arch_startup":"31us","xosc1_arch_swben":false,"xosc1_arch_cfden":false,"xosc1_arch_enalc":false,"xosc1_arch_lowbufgain":false,"xosc1_arch_ondemand":false,"xosc1_arch_runstdby":false,"xosc1_arch_xtalen":true,"enable_dfll":false,"dfll_ref_clock":"Generic clock generator 3","dfll_arch_enable":false,"dfll_arch_ondemand":false,"dfll_arch_runstdby":false,"dfll_arch_usbcrm":false,"dfll_arch_waitlock":true,"dfll_arch_bplckc":false,"dfll_arch_qldis":false,"dfll_arch_ccdis":false,"dfll_arch_llaw":false,"dfll_arch_stable":false,"dfll_mode":"Open Loop Mode","dfll_arch_cstep":1,"dfll_arch_fstep":1,"dfll_mul":0,"dfll_arch_calibration":false,"dfll_arch_coarse":31,"dfll_arch_fine":128,"enable_fdpll0":false,"fdpll0_ref_clock":"32kHz External Crystal Oscillator (XOSC32K)","fdpll0_arch_enable":false,"fdpll0_arch_ondemand":false,"fdpll0_arch_runstdby":false,"fdpll0_ldrfrac":13,"fdpll0_ldr":1463,"fdpll0_clock_div":0,"fdpll0_arch_dcoen":false,"fdpll0_clock_dcofilter":0,"fdpll0_arch_lbypass":false,"fdpll0_arch_ltime":"No time-out, automatic lock","fdpll0_arch_refclk":"XOSC32K clock reference","fdpll0_arch_wuf":false,"fdpll0_arch_filter":0,"enable_fdpll1":false,"fdpll1_ref_clock":"32kHz External Crystal Oscillator (XOSC32K)","fdpll1_arch_enable":false,"fdpll1_arch_ondemand":false,"fdpll1_arch_runstdby":false,"fdpll1_ldrfrac":13,"fdpll1_ldr":1463,"fdpll1_clock_div":0,"fdpll1_arch_dcoen":false,"fdpll1_clock_dcofilter":0,"fdpll1_arch_lbypass":false,"fdpll1_arch_ltime":"No time-out, automatic lock","fdpll1_arch_refclk":"XOSC32K clock reference","fdpll1_arch_wuf":false,"fdpll1_arch_filter":0},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::OSCCTRL::driver_definition::OSCCTRL::HAL:HPL:OSCCTRL","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::OSCCTRL::driver_config_definition::OSCCTRL::HAL:HPL:OSCCTRL","module":"OSCCTRL"}},{"functionality":"ADC","identifier":"ADC_0","user_label":"ADC_0","api":"HAL:Driver:ADC_Sync","configuration":{"adc_resolution":"12-bit","adc_reference":"Internal bandgap reference","adc_prescaler":"Peripheral clock divided by 2","adc_freerunning_mode":false,"adc_differential_mode":false,"adc_pinmux_positive":"ADC AIN0 pin","adc_pinmux_negative":"ADC AIN0 pin","adc_advanced_settings":false,"adc_arch_runstdby":false,"adc_arch_dbgrun":false,"adc_arch_ondemand":false,"adc_arch_leftadj":false,"adc_arch_refcomp":false,"adc_arch_offcomp":false,"adc_arch_corren":false,"adc_arch_offsetcorr":0,"adc_arch_gaincorr":0,"adc_arch_adjres":0,"adc_arch_samplenum":"1 sample","adc_arch_samplen":0,"adc_arch_winmode":"No window mode","adc_arch_winlt":0,"adc_arch_winut":0,"adc_arch_seqen":0,"adc_arch_event_settings":false,"adc_arch_winmoneo":false,"adc_arch_resrdyeo":false,"adc_arch_flushinv":false,"adc_arch_flushei":false,"adc_arch_startinv":false,"adc_arch_startei":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::ADC::driver_definition::ADC::HAL:Driver:ADC.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::ADC0::driver_config_definition::ADC::HAL:Driver:ADC.Sync","module":"ADC0"},"clocks":{"domain_group":{"nodes":[{"name":"ADC","input":"Generic clock generator 0"}],"configuration":{"adc_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"DAC","identifier":"DAC_0","user_label":"DAC_0","api":"HAL:Driver:DAC_Sync","configuration":{"dac_arch_refsel":"Unbuffered external voltage reference","dac_arch_diff":false,"dac_advanced_settings":false,"adc_arch_dbgrun":true,"dac0_arch_leftadj":false,"dac0_arch_cctrl":"GCLK_DAC <= 1.2MHz (100kSPS)","dac0_arch_runstdby":false,"dac0_arch_ditrher":false,"dac0_arch_refresh":0,"dac1_arch_leftadj":false,"dac1_arch_cctrl":"GCLK_DAC <= 1.2MHz (100kSPS)","dac1_arch_runstdby":false,"dac1_arch_ditrher":false,"dac1_arch_refresh":0,"dac_arch_invei0":"Detection on rising edge pf the input event","dac_arch_emptyeo_0":false,"dac_arch_startei_0":false,"dac_arch_invei1":"Detection on rising edge pf the input event","dac_arch_emptyeo_1":false,"dac_arch_startei_1":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::DAC::driver_definition::DAC::HAL:Driver:DAC.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::DAC::driver_config_definition::DAC::HAL:Driver:DAC.Sync","module":"DAC"},"clocks":{"domain_group":{"nodes":[{"name":"DAC","input":"Generic clock generator 0"}],"configuration":{"dac_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"Delay","identifier":"DELAY_0","user_label":"DELAY_0","api":"HAL:Driver:Delay","configuration":{"systick_arch_tickint":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::SysTick::driver_definition::Delay::HAL:Driver:Delay","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::SysTick::driver_config_definition::Delay::HAL:Driver:Delay","module":"SysTick"}},{"functionality":"Event_System","identifier":"EVENT_SYSTEM_0","user_label":"EVENT_SYSTEM_0","api":"HAL:Driver:Event_system","configuration":{"evsys_channel_setting_0":false,"evsys_edgsel_0":"No event output when using the resynchronized or synchronous path","evsys_path_0":"Synchronous path","evsys_evgen_0":"No event generator","evsys_ovr_0":false,"evsys_evd_0":false,"evsys_ondemand_0":false,"evsys_runstdby_0":false,"evsys_channel_setting_1":false,"evsys_edgsel_1":"No event output when using the resynchronized or synchronous path","evsys_path_1":"Synchronous path","evsys_evgen_1":"No event generator","evsys_ovr_1":false,"evsys_evd_1":false,"evsys_ondemand_1":false,"evsys_runstdby_1":false,"evsys_channel_setting_2":false,"evsys_edgsel_2":"No event output when using the resynchronized or synchronous path","evsys_path_2":"Synchronous path","evsys_evgen_2":"No event generator","evsys_ovr_2":false,"evsys_evd_2":false,"evsys_ondemand_2":false,"evsys_runstdby_2":false,"evsys_channel_setting_3":false,"evsys_edgsel_3":"No event output when using the resynchronized or synchronous path","evsys_path_3":"Synchronous path","evsys_evgen_3":"No event generator","evsys_ovr_3":false,"evsys_evd_3":false,"evsys_ondemand_3":false,"evsys_runstdby_3":false,"evsys_channel_setting_4":false,"evsys_edgsel_4":"No event output when using the resynchronized or synchronous path","evsys_path_4":"Synchronous path","evsys_evgen_4":"No event generator","evsys_ovr_4":false,"evsys_evd_4":false,"evsys_ondemand_4":false,"evsys_runstdby_4":false,"evsys_channel_setting_5":false,"evsys_edgsel_5":"No event output when using the resynchronized or synchronous path","evsys_path_5":"Synchronous path","evsys_evgen_5":"No event generator","evsys_ovr_5":false,"evsys_evd_5":false,"evsys_ondemand_5":false,"evsys_runstdby_5":false,"evsys_channel_setting_6":false,"evsys_edgsel_6":"No event output when using the resynchronized or synchronous path","evsys_path_6":"Synchronous path","evsys_evgen_6":"No event generator","evsys_ovr_6":false,"evsys_evd_6":false,"evsys_ondemand_6":false,"evsys_runstdby_6":false,"evsys_channel_setting_7":false,"evsys_edgsel_7":"No event output when using the resynchronized or synchronous path","evsys_path_7":"Synchronous path","evsys_evgen_7":"No event generator","evsys_ovr_7":false,"evsys_evd_7":false,"evsys_ondemand_7":false,"evsys_runstdby_7":false,"evsys_channel_setting_8":false,"evsys_edgsel_8":"No event output when using the resynchronized or synchronous path","evsys_path_8":"Synchronous path","evsys_evgen_8":"No event generator","evsys_ovr_8":false,"evsys_evd_8":false,"evsys_ondemand_8":false,"evsys_runstdby_8":false,"evsys_channel_setting_9":false,"evsys_edgsel_9":"No event output when using the resynchronized or synchronous path","evsys_path_9":"Synchronous path","evsys_evgen_9":"No event generator","evsys_ovr_9":false,"evsys_evd_9":false,"evsys_ondemand_9":false,"evsys_runstdby_9":false,"evsys_channel_setting_10":false,"evsys_edgsel_10":"No event output when using the resynchronized or synchronous path","evsys_path_10":"Synchronous path","evsys_evgen_10":"No event generator","evsys_ovr_10":false,"evsys_evd_10":false,"evsys_ondemand_10":false,"evsys_runstdby_10":false,"evsys_channel_setting_11":false,"evsys_edgsel_11":"No event output when using the resynchronized or synchronous path","evsys_path_11":"Synchronous path","evsys_evgen_11":"No event generator","evsys_ovr_11":false,"evsys_evd_11":false,"evsys_ondemand_11":false,"evsys_runstdby_11":false,"evsys_channel_setting_12":false,"evsys_edgsel_12":"No event output when using the resynchronized or synchronous path","evsys_path_12":"Synchronous path","evsys_evgen_12":"No event generator","evsys_ovr_12":false,"evsys_evd_12":false,"evsys_ondemand_12":false,"evsys_runstdby_12":false,"evsys_channel_setting_13":false,"evsys_edgsel_13":"No event output when using the resynchronized or synchronous path","evsys_path_13":"Synchronous path","evsys_evgen_13":"No event generator","evsys_ovr_13":false,"evsys_evd_13":false,"evsys_ondemand_13":false,"evsys_runstdby_13":false,"evsys_channel_setting_14":false,"evsys_edgsel_14":"No event output when using the resynchronized or synchronous path","evsys_path_14":"Synchronous path","evsys_evgen_14":"No event generator","evsys_ovr_14":false,"evsys_evd_14":false,"evsys_ondemand_14":false,"evsys_runstdby_14":false,"evsys_channel_setting_15":false,"evsys_edgsel_15":"No event output when using the resynchronized or synchronous path","evsys_path_15":"Synchronous path","evsys_evgen_15":"No event generator","evsys_ovr_15":false,"evsys_evd_15":false,"evsys_ondemand_15":false,"evsys_runstdby_15":false,"evsys_channel_setting_16":false,"evsys_edgsel_16":"No event output when using the resynchronized or synchronous path","evsys_path_16":"Synchronous path","evsys_evgen_16":"No event generator","evsys_ovr_16":false,"evsys_evd_16":false,"evsys_ondemand_16":false,"evsys_runstdby_16":false,"evsys_channel_setting_17":false,"evsys_edgsel_17":"No event output when using the resynchronized or synchronous path","evsys_path_17":"Synchronous path","evsys_evgen_17":"No event generator","evsys_ovr_17":false,"evsys_evd_17":false,"evsys_ondemand_17":false,"evsys_runstdby_17":false,"evsys_channel_setting_18":false,"evsys_edgsel_18":"No event output when using the resynchronized or synchronous path","evsys_path_18":"Synchronous path","evsys_evgen_18":"No event generator","evsys_ovr_18":false,"evsys_evd_18":false,"evsys_ondemand_18":false,"evsys_runstdby_18":false,"evsys_channel_setting_19":false,"evsys_edgsel_19":"No event output when using the resynchronized or synchronous path","evsys_path_19":"Synchronous path","evsys_evgen_19":"No event generator","evsys_ovr_19":false,"evsys_evd_19":false,"evsys_ondemand_19":false,"evsys_runstdby_19":false,"evsys_channel_setting_20":false,"evsys_edgsel_20":"No event output when using the resynchronized or synchronous path","evsys_path_20":"Synchronous path","evsys_evgen_20":"No event generator","evsys_ovr_20":false,"evsys_evd_20":false,"evsys_ondemand_20":false,"evsys_runstdby_20":false,"evsys_channel_setting_21":false,"evsys_edgsel_21":"No event output when using the resynchronized or synchronous path","evsys_path_21":"Synchronous path","evsys_evgen_21":"No event generator","evsys_ovr_21":false,"evsys_evd_21":false,"evsys_ondemand_21":false,"evsys_runstdby_21":false,"evsys_channel_setting_22":false,"evsys_edgsel_22":"No event output when using the resynchronized or synchronous path","evsys_path_22":"Synchronous path","evsys_evgen_22":"No event generator","evsys_ovr_22":false,"evsys_evd_22":false,"evsys_ondemand_22":false,"evsys_runstdby_22":false,"evsys_channel_setting_23":false,"evsys_edgsel_23":"No event output when using the resynchronized or synchronous path","evsys_path_23":"Synchronous path","evsys_evgen_23":"No event generator","evsys_ovr_23":false,"evsys_evd_23":false,"evsys_ondemand_23":false,"evsys_runstdby_23":false,"evsys_channel_setting_24":false,"evsys_edgsel_24":"No event output when using the resynchronized or synchronous path","evsys_path_24":"Synchronous path","evsys_evgen_24":"No event generator","evsys_ovr_24":false,"evsys_evd_24":false,"evsys_ondemand_24":false,"evsys_runstdby_24":false,"evsys_channel_setting_25":false,"evsys_edgsel_25":"No event output when using the resynchronized or synchronous path","evsys_path_25":"Synchronous path","evsys_evgen_25":"No event generator","evsys_ovr_25":false,"evsys_evd_25":false,"evsys_ondemand_25":false,"evsys_runstdby_25":false,"evsys_channel_setting_26":false,"evsys_edgsel_26":"No event output when using the resynchronized or synchronous path","evsys_path_26":"Synchronous path","evsys_evgen_26":"No event generator","evsys_ovr_26":false,"evsys_evd_26":false,"evsys_ondemand_26":false,"evsys_runstdby_26":false,"evsys_channel_setting_27":false,"evsys_edgsel_27":"No event output when using the resynchronized or synchronous path","evsys_path_27":"Synchronous path","evsys_evgen_27":"No event generator","evsys_ovr_27":false,"evsys_evd_27":false,"evsys_ondemand_27":false,"evsys_runstdby_27":false,"evsys_channel_setting_28":false,"evsys_edgsel_28":"No event output when using the resynchronized or synchronous path","evsys_path_28":"Synchronous path","evsys_evgen_28":"No event generator","evsys_ovr_28":false,"evsys_evd_28":false,"evsys_ondemand_28":false,"evsys_runstdby_28":false,"evsys_channel_setting_29":false,"evsys_edgsel_29":"No event output when using the resynchronized or synchronous path","evsys_path_29":"Synchronous path","evsys_evgen_29":"No event generator","evsys_ovr_29":false,"evsys_evd_29":false,"evsys_ondemand_29":false,"evsys_runstdby_29":false,"evsys_channel_setting_30":false,"evsys_edgsel_30":"No event output when using the resynchronized or synchronous path","evsys_path_30":"Synchronous path","evsys_evgen_30":"No event generator","evsys_ovr_30":false,"evsys_evd_30":false,"evsys_ondemand_30":false,"evsys_runstdby_30":false,"evsys_channel_setting_31":false,"evsys_edgsel_31":"No event output when using the resynchronized or synchronous path","evsys_path_31":"Synchronous path","evsys_evgen_31":"No event generator","evsys_ovr_31":false,"evsys_evd_31":false,"evsys_ondemand_31":false,"evsys_runstdby_31":false,"evsys_channel_0":"No channel output selected","evsys_channel_1":"No channel output selected","evsys_channel_2":"No channel output selected","evsys_channel_3":"No channel output selected","evsys_channel_4":"No channel output selected","evsys_channel_5":"No channel output selected","evsys_channel_6":"No channel output selected","evsys_channel_7":"No channel output selected","evsys_channel_8":"No channel output selected","evsys_channel_9":"No channel output selected","evsys_channel_10":"No channel output selected","evsys_channel_11":"No channel output selected","evsys_channel_12":"No channel output selected","evsys_channel_17":"No channel output selected","evsys_channel_18":"No channel output selected","evsys_channel_19":"No channel output selected","evsys_channel_20":"No channel output selected","evsys_channel_21":"No channel output selected","evsys_channel_22":"No channel output selected","evsys_channel_23":"No channel output selected","evsys_channel_24":"No channel output selected","evsys_channel_25":"No channel output selected","evsys_channel_26":"No channel output selected","evsys_channel_27":"No channel output selected","evsys_channel_28":"No channel output selected","evsys_channel_29":"No channel output selected","evsys_channel_30":"No channel output selected","evsys_channel_31":"No channel output selected","evsys_channel_32":"No channel output selected","evsys_channel_33":"No channel output selected","evsys_channel_34":"No channel output selected","evsys_channel_35":"No channel output selected","evsys_channel_36":"No channel output selected","evsys_channel_37":"No channel output selected","evsys_channel_38":"No channel output selected","evsys_channel_39":"No channel output selected","evsys_channel_40":"No channel output selected","evsys_channel_41":"No channel output selected","evsys_channel_42":"No channel output selected","evsys_channel_43":"No channel output selected","evsys_channel_44":"No channel output selected","evsys_channel_45":"No channel output selected","evsys_channel_46":"No channel output selected","evsys_channel_47":"No channel output selected","evsys_channel_48":"No channel output selected","evsys_channel_49":"No channel output selected","evsys_channel_50":"No channel output selected","evsys_channel_51":"No channel output selected","evsys_channel_52":"No channel output selected","evsys_channel_53":"No channel output selected","evsys_channel_54":"No channel output selected","evsys_channel_55":"No channel output selected","evsys_channel_56":"No channel output selected","evsys_channel_57":"No channel output selected","evsys_channel_58":"No channel output selected","evsys_channel_59":"No channel output selected","evsys_channel_60":"No channel output selected","evsys_channel_61":"No channel output selected","evsys_channel_62":"No channel output selected","evsys_channel_63":"No channel output selected","evsys_channel_64":"No channel output selected","evsys_channel_65":"No channel output selected","evsys_channel_66":"No channel output selected"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::EVSYS::driver_definition::Event.System::HAL:Driver:Event.system","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::EVSYS::driver_config_definition::Event.System::HAL:Driver:Event.system","module":"EVSYS"},"clocks":{"domain_group":{"nodes":[{"name":"Channel 0","input":"Generic clock generator 0"},{"name":"Channel 1","input":"Generic clock generator 0"},{"name":"Channel 2","input":"Generic clock generator 0"},{"name":"Channel 3","input":"Generic clock generator 0"},{"name":"Channel 4","input":"Generic clock generator 0"},{"name":"Channel 5","input":"Generic clock generator 0"},{"name":"Channel 6","input":"Generic clock generator 0"},{"name":"Channel 7","input":"Generic clock generator 0"},{"name":"Channel 8","input":"Generic clock generator 0"},{"name":"Channel 9","input":"Generic clock generator 0"},{"name":"Channel 10","input":"Generic clock generator 0"},{"name":"Channel 11","input":"Generic clock generator 0"}],"configuration":{"evsys_clk_selection_0":"Generic clock generator 0","evsys_clk_selection_1":"Generic clock generator 0","evsys_clk_selection_2":"Generic clock generator 0","evsys_clk_selection_3":"Generic clock generator 0","evsys_clk_selection_4":"Generic clock generator 0","evsys_clk_selection_5":"Generic clock generator 0","evsys_clk_selection_6":"Generic clock generator 0","evsys_clk_selection_7":"Generic clock generator 0","evsys_clk_selection_8":"Generic clock generator 0","evsys_clk_selection_9":"Generic clock generator 0","evsys_clk_selection_10":"Generic clock generator 0","evsys_clk_selection_11":"Generic clock generator 0"}}}},{"functionality":"PWM","identifier":"PWM_0","user_label":"PWM_0","api":"HAL:Driver:PWM","configuration":{"tc_prescaler":"No division","tc_arch_wave_per_val":1000,"tc_arch_wave_duty_val":500,"tc_mode":"Counter in 16-bit mode","tc_per":50,"tc_arch_presync":"Reload or reset counter on next GCLK","tc_arch_runstdby":false,"tc_arch_ondemand":false,"tc_arch_alock":"The Lock Update bit is not affected on overflow/underflow and re-trigger event","tc_arch_dbgrun":false,"timer_event_control":false,"tc_arch_mceo0":false,"tc_arch_mceo1":false,"tc_arch_ovfeo":false,"tc_arch_tcei":false,"tc_arch_tcinv":false,"tc_arch_evact":"Event action disabled"},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::TC::driver_definition::PWM::HAL:Driver:PWM","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::TC0::driver_config_definition::PWM::HAL:Driver:PWM","module":"TC0"},"clocks":{"domain_group":{"nodes":[{"name":"TC","input":"Generic clock generator 0"}],"configuration":{"tc_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"RAND","identifier":"RAND_0","user_label":"RAND_0","api":"HAL:Driver:RAND_Sync","configuration":{"trng_runstdby":false,"trng_datardyeo":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::TRNG::driver_definition::RAND::HAL:Driver:RAND.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::TRNG::driver_config_definition::RAND::HAL:Driver:RAND.Sync","module":"TRNG"}},{"functionality":"SPI","identifier":"SPI_0","user_label":"SPI_0","api":"HAL:Driver:SPI_Master_Sync","configuration":{"spi_master_rx_enable":true,"spi_master_character_size":"8 bits","spi_master_baud_rate":50000,"spi_master_advanced":false,"spi_master_dummybyte":511,"spi_master_arch_dord":"MSB first","spi_master_arch_cpol":"SCK is low when idle","spi_master_arch_cpha":"Sample input on leading edge","spi_master_arch_ibon":"In data stream","spi_master_arch_runstdby":false,"spi_master_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"TXPO=0, RXPO=2","required_signals":[{"label":"MOSI","identifier":"SPI_0:MOSI","name":"SERCOM0/PAD/0","pad":"PA04","configuration":null,"definition":"","mode":"Enabled"},{"label":"MISO","identifier":"SPI_0:MISO","name":"SERCOM0/PAD/2","pad":"PA06","configuration":null,"definition":"","mode":"Enabled"},{"label":"SCK","identifier":"SPI_0:SCK","name":"SERCOM0/PAD/1","pad":"PA05","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::SERCOM::driver_definition::SPI.Master::HAL:Driver:SPI.Master.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::SERCOM0::driver_config_definition::SPI.Master::HAL:Driver:SPI.Master.Sync","module":"SERCOM0"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"USB","identifier":"USB_DEVICE_INSTANCE","user_label":"USB_DEVICE_INSTANCE","api":"HAL:Driver:USB_Device","configuration":{"usbd_num_ep_sp":"4 (EP0 + 3 endpoints)","usbd_arch_max_ep_n":"2 (EP 0x82 or 0x02)","usbd_arch_speed":"Full speed","usb_arch_ep0_cache":"Cached by 64 bytes buffer","usb_arch_ep1_cache":"Cached by 64 bytes buffer","usb_ep1_I_CACHE":"No cache","usb_arch_ep2_cache":"Cached by 64 bytes buffer","usb_ep2_I_CACHE":"No cache","usb_arch_ep3_cache":"Cached by 64 bytes buffer","usb_ep3_I_CACHE":"No cache","usb_arch_ep4_cache":"Cached by 64 bytes buffer","usb_ep4_I_CACHE":"No cache","usb_arch_ep5_cache":"Cached by 64 bytes buffer","usb_ep5_I_CACHE":"No cache","usb_arch_ep6_cache":"Cached by 64 bytes buffer","usb_ep6_I_CACHE":"No cache","usb_arch_ep7_cache":"Cached by 64 bytes buffer","usb_ep7_I_CACHE":"No cache"},"dependencies":{},"optional_signals":[],"variant":{"specification":"default","required_signals":[{"label":"Data-","identifier":"USB_DEVICE_INSTANCE:Data-","name":"USB/DM","pad":"PA24","configuration":null,"definition":"","mode":"Enabled"},{"label":"Data+","identifier":"USB_DEVICE_INSTANCE:Data+","name":"USB/DP","pad":"PA25","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::USB::driver_definition::USB.Device::HAL:Driver:USB.Device","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::USB::driver_config_definition::USB.Device::HAL:Driver:USB.Device","module":"USB"},"clocks":{"domain_group":{"nodes":[{"name":"USB","input":"Generic clock generator 0"}],"configuration":{"usb_gclk_selection":"Generic clock generator 0"}}}},{"functionality":"USART","identifier":"USART_0","user_label":"USART_0","api":"HAL:Driver:USART_Sync","configuration":{"usart_rx_enable":true,"usart_tx_enable":true,"usart_parity":"No parity","usart_character_size":"8 bits","usart_stop_bit":"One stop bit","usart_baud_rate":9600,"usart_advanced":false,"usart_arch_runstdby":false,"usart_arch_ibon":false,"usart_arch_sfde":false,"usart_arch_cloden":false,"usart_arch_clock_mode":"USART with internal clock","usart_arch_sampr":"16x arithmetic","usart_arch_sampa":"7-8-9 (3-4-5 8-bit over-sampling)","usart_arch_fractional":0,"usart_arch_dord":"LSB is transmitted first","usart_arch_enc":"No encoding","usart_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"TXPO=0, RXPO=1, CMODE=0","required_signals":[{"label":"TX","identifier":"USART_0:TX","name":"SERCOM1/PAD/0","pad":"PA00","configuration":null,"definition":"","mode":"Enabled"},{"label":"RX","identifier":"USART_0:RX","name":"SERCOM1/PAD/1","pad":"PA01","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::SERCOM::driver_definition::UART::HAL:Driver:USART.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::SERCOM1::driver_config_definition::UART::HAL:Driver:USART.Sync","module":"SERCOM1"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"I2C","identifier":"I2C_0","user_label":"I2C_0","api":"HAL:Driver:I2C_Master_Sync","configuration":{"i2c_master_baud_rate":100000,"i2c_master_advanced":false,"i2c_master_arch_trise":215,"i2c_master_arch_mexttoen":false,"i2c_master_arch_sexttoen":false,"i2c_master_arch_lowtout":false,"i2c_master_arch_inactout":"Disabled","i2c_master_arch_sdahold":"300-600ns hold time","i2c_master_arch_runstdby":false,"i2c_master_arch_dbgstop":"Keep running"},"dependencies":{},"optional_signals":[],"variant":{"specification":"SDA=0, SCL=1","required_signals":[{"label":"SDA","identifier":"I2C_0:SDA","name":"SERCOM0/PAD/0","pad":"PA08","configuration":null,"definition":"","mode":"Enabled"},{"label":"SCL","identifier":"I2C_0:SCL","name":"SERCOM0/PAD/1","pad":"PA09","configuration":null,"definition":"","mode":"Enabled"}]},"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::SERCOM::driver_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::SERCOM0::driver_config_definition::I2C.Master.Standard~2FFast-mode::HAL:Driver:I2C.Master.Sync","module":"SERCOM0"},"clocks":{"domain_group":{"nodes":[{"name":"Slow","input":"Generic clock generator 3"},{"name":"Core","input":"Generic clock generator 0"}],"configuration":{"core_gclk_selection":"Generic clock generator 0","slow_gclk_selection":"Generic clock generator 3"}}}},{"functionality":"Timer","identifier":"TIMER_0","user_label":"TIMER_0","api":"HAL:Driver:Timer","configuration":{"rtc_arch_prescaler":"OFF(Peripheral clock divided by 1)","rtc_arch_comp_val":1,"rtc_event_control":false,"rtc_pereo0":false,"rtc_pereo1":false,"rtc_pereo2":false,"rtc_pereo3":false,"rtc_pereo4":false,"rtc_pereo5":false,"rtc_pereo6":false,"rtc_pereo7":false,"rtc_cmpeo0":false,"rtc_cmpeo1":false,"rtc_ovfeo":false,"rtc_tampereo":false,"rtc_tampevei":false},"dependencies":{},"optional_signals":[],"variant":null,"definition":{"base":"Atmel:SAMD51_Drivers:0.0.1::RTC::driver_definition::Timer::HAL:Driver:Timer","identifier":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::RTC::driver_config_definition::Timer::HAL:Driver:Timer","module":"RTC"},"clocks":{"domain_group":{"nodes":[{"name":"RTC","input":"RTC source"}],"configuration":{"rtc_clk_selection":"RTC source"}}}}],"pads":[{"name":"PA00","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA00","mode":"Peripheral IO","configuration":null},{"name":"PA01","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA01","mode":"Peripheral IO","configuration":null},{"name":"PA04","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA04","mode":"Digital output","configuration":null},{"name":"PA05","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA05","mode":"Digital output","configuration":null},{"name":"PA06","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA06","mode":"Digital input","configuration":null},{"name":"PA08","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA08","mode":"Peripheral IO","configuration":null},{"name":"PA09","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA09","mode":"Peripheral IO","configuration":null},{"name":"PA24","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA24","mode":"Advanced","configuration":null},{"name":"PA25","user_label":"","definition":"Atmel:SAMD51_Drivers:0.0.1::SAMD51G19A-MF::pad::PA25","mode":"Advanced","configuration":null}]} diff --git a/atmel-samd/tools/update_asf.py b/atmel-samd/tools/update_asf.py new file mode 100644 index 000000000..20868532b --- /dev/null +++ b/atmel-samd/tools/update_asf.py @@ -0,0 +1,54 @@ +import requests +import zipfile +import os.path +import sys + +for chip in ["samd21", "samd51"]: + r = None + filename = chip + ".zip" + if not os.path.isfile(filename): + with open("tools/" + chip + ".json", "r") as project_json: + headers = {"content-type": "text/plain"} + r = requests.post("http://start.atmel.com/api/v1/generate/?format=atzip&compilers=[make]&file_name_base=My%20Project", headers=headers, data=project_json) + if not r.ok: + # Double check that the JSON is minified. If its not, you'll get a 404. + print(r.text) + sys.exit(1) + with open(filename, "wb") as out: + out.write(r.content) + z = zipfile.ZipFile(filename) + z.extractall("asf4/" + chip) + print(z) + + # delete the zip on success + #os.remove(filename) + +# Remove LITTLE_ENDIAN define from ASF because it conflicts with GCC. +for fn in os.listdir("asf4/samd51/include"): + contents = [] + path = "asf4/samd51/include/" + fn + if not os.path.isfile(path): + continue + with open(path, "r") as f: + for line in f: + if line.startswith("#define LITTLE_ENDIAN"): + contents.append("//" + line) + else: + contents.append(line) + with open(path, "w") as f: + for line in contents: + f.write(line) + +# Replace ASF's assert with asf_assert so it doesn't conflict with the C macro. + +for chip in ["samd21", "samd51"]: + contents = [] + path = "asf4/" + chip + "/hal/utils/include/utils_assert.h" + with open(path, "r") as f: + for line in f: + contents.append(line.replace(" assert(", " asf_assert(")) + with open(path, "w") as f: + for line in contents: + f.write(line) + +# samd21/samd21a/include is copied to samd21/include to match samd51 |
