├── .gitignore ├── .gitmodules ├── CHANGELOG ├── COMMANDS.md ├── README.md ├── VARIANT_COMPLIANCE_CHANGELOG ├── boards.txt ├── bootloaders └── zero_osc32k │ ├── ASF │ ├── common │ │ ├── boards │ │ │ └── board.h │ │ ├── services │ │ │ ├── sleepmgr │ │ │ │ ├── samd │ │ │ │ │ ├── sleepmgr.c │ │ │ │ │ └── sleepmgr.h │ │ │ │ └── sleepmgr.h │ │ │ └── usb │ │ │ │ ├── class │ │ │ │ └── cdc │ │ │ │ │ ├── device │ │ │ │ │ ├── udi_cdc.c │ │ │ │ │ ├── udi_cdc.h │ │ │ │ │ ├── udi_cdc_conf.h │ │ │ │ │ └── udi_cdc_desc.c │ │ │ │ │ └── usb_protocol_cdc.h │ │ │ │ ├── udc │ │ │ │ ├── udc.c │ │ │ │ ├── udc.h │ │ │ │ ├── udc_desc.h │ │ │ │ ├── udd.h │ │ │ │ └── udi.h │ │ │ │ ├── usb_atmel.h │ │ │ │ └── usb_protocol.h │ │ └── utils │ │ │ ├── interrupt.h │ │ │ ├── interrupt │ │ │ ├── interrupt_sam_nvic.c │ │ │ └── interrupt_sam_nvic.h │ │ │ └── parts.h │ ├── sam0 │ │ ├── boards │ │ │ └── samd21_xplained_pro │ │ │ │ ├── board_init.c │ │ │ │ └── samd21_xplained_pro.h │ │ ├── drivers │ │ │ ├── port │ │ │ │ ├── port.c │ │ │ │ ├── port.h │ │ │ │ └── quick_start │ │ │ │ │ └── qs_port_basic.h │ │ │ ├── rtc │ │ │ │ ├── quick_start_count │ │ │ │ │ └── qs_rtc_count_basic.h │ │ │ │ ├── quick_start_count_callback │ │ │ │ │ └── qs_rtc_count_callback.h │ │ │ │ ├── rtc_count.c │ │ │ │ ├── rtc_count.h │ │ │ │ ├── rtc_count_interrupt.c │ │ │ │ └── rtc_count_interrupt.h │ │ │ ├── system │ │ │ │ ├── clock │ │ │ │ │ ├── clock.h │ │ │ │ │ ├── clock_samd21_r21 │ │ │ │ │ │ ├── clock.c │ │ │ │ │ │ ├── clock_config_check.h │ │ │ │ │ │ └── gclk.c │ │ │ │ │ ├── gclk.h │ │ │ │ │ ├── quick_start_clock │ │ │ │ │ │ └── qs_clock_source.h │ │ │ │ │ └── quick_start_gclk │ │ │ │ │ │ └── qs_gclk_basic.h │ │ │ │ ├── interrupt │ │ │ │ │ ├── quick_start │ │ │ │ │ │ └── qs_system_interrupt.h │ │ │ │ │ ├── system_interrupt.c │ │ │ │ │ ├── system_interrupt.h │ │ │ │ │ └── system_interrupt_samd21 │ │ │ │ │ │ └── system_interrupt_features.h │ │ │ │ ├── pinmux │ │ │ │ │ ├── pinmux.c │ │ │ │ │ ├── pinmux.h │ │ │ │ │ └── quick_start │ │ │ │ │ │ └── qs_pinmux_basic.h │ │ │ │ ├── system.c │ │ │ │ └── system.h │ │ │ └── usb │ │ │ │ ├── stack_interface │ │ │ │ ├── usb_device_udd.c │ │ │ │ ├── usb_dual.c │ │ │ │ └── usb_dual.h │ │ │ │ ├── usb.c │ │ │ │ └── usb.h │ │ └── utils │ │ │ ├── cmsis │ │ │ └── samd21 │ │ │ │ ├── include │ │ │ │ ├── component │ │ │ │ │ ├── ac.h │ │ │ │ │ ├── adc.h │ │ │ │ │ ├── dac.h │ │ │ │ │ ├── dmac.h │ │ │ │ │ ├── dsu.h │ │ │ │ │ ├── eic.h │ │ │ │ │ ├── evsys.h │ │ │ │ │ ├── gclk.h │ │ │ │ │ ├── i2s.h │ │ │ │ │ ├── mtb.h │ │ │ │ │ ├── nvmctrl.h │ │ │ │ │ ├── pac.h │ │ │ │ │ ├── pm.h │ │ │ │ │ ├── port.h │ │ │ │ │ ├── rtc.h │ │ │ │ │ ├── sercom.h │ │ │ │ │ ├── sysctrl.h │ │ │ │ │ ├── tc.h │ │ │ │ │ ├── tcc.h │ │ │ │ │ ├── usb.h │ │ │ │ │ └── wdt.h │ │ │ │ ├── instance │ │ │ │ │ ├── ac.h │ │ │ │ │ ├── adc.h │ │ │ │ │ ├── dac.h │ │ │ │ │ ├── dmac.h │ │ │ │ │ ├── dsu.h │ │ │ │ │ ├── eic.h │ │ │ │ │ ├── evsys.h │ │ │ │ │ ├── gclk.h │ │ │ │ │ ├── i2s.h │ │ │ │ │ ├── mtb.h │ │ │ │ │ ├── nvmctrl.h │ │ │ │ │ ├── pac0.h │ │ │ │ │ ├── pac1.h │ │ │ │ │ ├── pac2.h │ │ │ │ │ ├── pm.h │ │ │ │ │ ├── port.h │ │ │ │ │ ├── rtc.h │ │ │ │ │ ├── sercom0.h │ │ │ │ │ ├── sercom1.h │ │ │ │ │ ├── sercom2.h │ │ │ │ │ ├── sercom3.h │ │ │ │ │ ├── sercom4.h │ │ │ │ │ ├── sercom5.h │ │ │ │ │ ├── sysctrl.h │ │ │ │ │ ├── tc3.h │ │ │ │ │ ├── tc4.h │ │ │ │ │ ├── tc5.h │ │ │ │ │ ├── tc6.h │ │ │ │ │ ├── tc7.h │ │ │ │ │ ├── tcc0.h │ │ │ │ │ ├── tcc1.h │ │ │ │ │ ├── tcc2.h │ │ │ │ │ ├── usb.h │ │ │ │ │ └── wdt.h │ │ │ │ ├── pio │ │ │ │ │ ├── samd21e15a.h │ │ │ │ │ ├── samd21e16a.h │ │ │ │ │ ├── samd21e17a.h │ │ │ │ │ ├── samd21e18a.h │ │ │ │ │ ├── samd21g15a.h │ │ │ │ │ ├── samd21g16a.h │ │ │ │ │ ├── samd21g17a.h │ │ │ │ │ ├── samd21g18a.h │ │ │ │ │ ├── samd21j15a.h │ │ │ │ │ ├── samd21j16a.h │ │ │ │ │ ├── samd21j17a.h │ │ │ │ │ └── samd21j18a.h │ │ │ │ ├── samd21.h │ │ │ │ ├── samd21e15a.h │ │ │ │ ├── samd21e16a.h │ │ │ │ ├── samd21e17a.h │ │ │ │ ├── samd21e18a.h │ │ │ │ ├── samd21g15a.h │ │ │ │ ├── samd21g16a.h │ │ │ │ ├── samd21g17a.h │ │ │ │ ├── samd21g18a.h │ │ │ │ ├── samd21j15a.h │ │ │ │ ├── samd21j16a.h │ │ │ │ ├── samd21j17a.h │ │ │ │ └── samd21j18a.h │ │ │ │ └── source │ │ │ │ ├── gcc │ │ │ │ └── startup_samd21.c │ │ │ │ ├── system_samd21.c │ │ │ │ └── system_samd21.h │ │ │ ├── compiler.h │ │ │ ├── header_files │ │ │ └── io.h │ │ │ ├── linker_scripts │ │ │ └── samd21 │ │ │ │ └── gcc │ │ │ │ └── samd21j18a_flash.ld │ │ │ ├── make │ │ │ └── Makefile.sam.in │ │ │ ├── preprocessor │ │ │ ├── mrecursion.h │ │ │ ├── mrepeat.h │ │ │ ├── preprocessor.h │ │ │ ├── stringz.h │ │ │ └── tpaste.h │ │ │ ├── status_codes.h │ │ │ └── syscalls │ │ │ └── gcc │ │ │ └── syscalls.c │ └── thirdparty │ │ └── CMSIS │ │ ├── CMSIS END USER LICENCE AGREEMENT.pdf │ │ ├── Include │ │ ├── arm_math.h │ │ ├── core_cm0plus.h │ │ ├── core_cmFunc.h │ │ └── core_cmInstr.h │ │ ├── Lib │ │ └── GCC │ │ │ ├── .gitignore │ │ │ └── libarm_cortexM0l_math.a │ │ └── README.txt │ ├── ATMEL │ ├── sam.h │ ├── samd.h │ ├── samd21 │ │ ├── include │ │ │ ├── component │ │ │ │ ├── ac.h │ │ │ │ ├── adc.h │ │ │ │ ├── dac.h │ │ │ │ ├── dmac.h │ │ │ │ ├── dsu.h │ │ │ │ ├── eic.h │ │ │ │ ├── evsys.h │ │ │ │ ├── gclk.h │ │ │ │ ├── hmatrixb.h │ │ │ │ ├── i2s.h │ │ │ │ ├── mtb.h │ │ │ │ ├── nvmctrl.h │ │ │ │ ├── pac.h │ │ │ │ ├── pm.h │ │ │ │ ├── port.h │ │ │ │ ├── rtc.h │ │ │ │ ├── sercom.h │ │ │ │ ├── sysctrl.h │ │ │ │ ├── tc.h │ │ │ │ ├── tcc.h │ │ │ │ ├── usb.h │ │ │ │ └── wdt.h │ │ │ ├── instance │ │ │ │ ├── ac.h │ │ │ │ ├── adc.h │ │ │ │ ├── dac.h │ │ │ │ ├── dmac.h │ │ │ │ ├── dsu.h │ │ │ │ ├── eic.h │ │ │ │ ├── evsys.h │ │ │ │ ├── gclk.h │ │ │ │ ├── i2s.h │ │ │ │ ├── mtb.h │ │ │ │ ├── nvmctrl.h │ │ │ │ ├── pac0.h │ │ │ │ ├── pac1.h │ │ │ │ ├── pac2.h │ │ │ │ ├── pm.h │ │ │ │ ├── port.h │ │ │ │ ├── rtc.h │ │ │ │ ├── sbmatrix.h │ │ │ │ ├── sercom0.h │ │ │ │ ├── sercom1.h │ │ │ │ ├── sercom2.h │ │ │ │ ├── sercom3.h │ │ │ │ ├── sercom4.h │ │ │ │ ├── sercom5.h │ │ │ │ ├── sysctrl.h │ │ │ │ ├── tc3.h │ │ │ │ ├── tc4.h │ │ │ │ ├── tc5.h │ │ │ │ ├── tc6.h │ │ │ │ ├── tc7.h │ │ │ │ ├── tcc0.h │ │ │ │ ├── tcc1.h │ │ │ │ ├── tcc2.h │ │ │ │ ├── usb.h │ │ │ │ └── wdt.h │ │ │ ├── pio │ │ │ │ ├── samd21e15a.h │ │ │ │ ├── samd21e16a.h │ │ │ │ ├── samd21e17a.h │ │ │ │ ├── samd21e18a.h │ │ │ │ ├── samd21g15a.h │ │ │ │ ├── samd21g16a.h │ │ │ │ ├── samd21g17a.h │ │ │ │ ├── samd21g18a.h │ │ │ │ ├── samd21j15a.h │ │ │ │ ├── samd21j16a.h │ │ │ │ ├── samd21j17a.h │ │ │ │ └── samd21j18a.h │ │ │ ├── samd21.h │ │ │ ├── samd21e15a.h │ │ │ ├── samd21e16a.h │ │ │ ├── samd21e17a.h │ │ │ ├── samd21e18a.h │ │ │ ├── samd21g15a.h │ │ │ ├── samd21g16a.h │ │ │ ├── samd21g17a.h │ │ │ ├── samd21g18a.h │ │ │ ├── samd21j15a.h │ │ │ ├── samd21j16a.h │ │ │ ├── samd21j17a.h │ │ │ ├── samd21j18a.h │ │ │ └── system_samd21.h │ │ └── source │ │ │ ├── gcc │ │ │ └── startup_samd21.c │ │ │ ├── iar │ │ │ └── startup_samd21.c │ │ │ └── system_samd21.c │ ├── samr.h │ └── samr21 │ │ ├── include │ │ ├── component │ │ │ ├── ac.h │ │ │ ├── adc.h │ │ │ ├── dmac.h │ │ │ ├── dsu.h │ │ │ ├── eic.h │ │ │ ├── evsys.h │ │ │ ├── gclk.h │ │ │ ├── hmatrixb.h │ │ │ ├── mtb.h │ │ │ ├── nvmctrl.h │ │ │ ├── pac.h │ │ │ ├── pm.h │ │ │ ├── port.h │ │ │ ├── rfctrl.h │ │ │ ├── rtc.h │ │ │ ├── sercom.h │ │ │ ├── sysctrl.h │ │ │ ├── tc.h │ │ │ ├── tcc.h │ │ │ ├── usb.h │ │ │ └── wdt.h │ │ ├── instance │ │ │ ├── ac.h │ │ │ ├── adc.h │ │ │ ├── dmac.h │ │ │ ├── dsu.h │ │ │ ├── eic.h │ │ │ ├── evsys.h │ │ │ ├── gclk.h │ │ │ ├── mtb.h │ │ │ ├── nvmctrl.h │ │ │ ├── pac0.h │ │ │ ├── pac1.h │ │ │ ├── pac2.h │ │ │ ├── pm.h │ │ │ ├── port.h │ │ │ ├── rfctrl.h │ │ │ ├── rtc.h │ │ │ ├── sbmatrix.h │ │ │ ├── sercom0.h │ │ │ ├── sercom1.h │ │ │ ├── sercom2.h │ │ │ ├── sercom3.h │ │ │ ├── sercom4.h │ │ │ ├── sercom5.h │ │ │ ├── sysctrl.h │ │ │ ├── tc3.h │ │ │ ├── tc4.h │ │ │ ├── tc5.h │ │ │ ├── tcc0.h │ │ │ ├── tcc1.h │ │ │ ├── tcc2.h │ │ │ ├── usb.h │ │ │ └── wdt.h │ │ ├── pio │ │ │ ├── samr21e16a.h │ │ │ ├── samr21e17a.h │ │ │ ├── samr21e18a.h │ │ │ ├── samr21g16a.h │ │ │ ├── samr21g17a.h │ │ │ └── samr21g18a.h │ │ ├── samr21.h │ │ ├── samr21e16a.h │ │ ├── samr21e17a.h │ │ ├── samr21e18a.h │ │ ├── samr21g16a.h │ │ ├── samr21g17a.h │ │ ├── samr21g18a.h │ │ └── system_samr21.h │ │ └── source │ │ ├── as_gcc │ │ ├── samr21e16a_flash.ld │ │ ├── samr21e16a_sram.ld │ │ ├── samr21e17a_flash.ld │ │ ├── samr21e17a_sram.ld │ │ ├── samr21e18a_flash.ld │ │ ├── samr21e18a_sram.ld │ │ ├── samr21g16a_flash.ld │ │ ├── samr21g16a_sram.ld │ │ ├── samr21g17a_flash.ld │ │ ├── samr21g17a_sram.ld │ │ ├── samr21g18a_flash.ld │ │ ├── samr21g18a_sram.ld │ │ └── startup_samr21.c │ │ └── system_samr21.c │ ├── Makefile │ ├── README.md │ ├── board_definitions.h │ ├── board_driver_led.c │ ├── board_driver_led.h │ ├── board_driver_serial.c │ ├── board_driver_serial.h │ ├── board_driver_usb.c │ ├── board_driver_usb.h │ ├── board_init.c │ ├── board_startup.c │ ├── bootloader_samd21x18.ld │ ├── main.c │ ├── sam_ba_cdc.c │ ├── sam_ba_cdc.h │ ├── sam_ba_monitor.c │ ├── sam_ba_monitor.h │ ├── sam_ba_serial.c │ ├── sam_ba_serial.h │ ├── sam_ba_usb.c │ ├── sam_ba_usb.h │ ├── samd21_sam_ba.atsln │ ├── samd21_sam_ba.bin │ ├── samd21_sam_ba.cproj │ └── samd21_sam_ba.hex ├── cores └── arduino_osc32k │ ├── Arduino.h │ ├── Client.h │ ├── HardwareSerial.h │ ├── IPAddress.cpp │ ├── IPAddress.h │ ├── Print.cpp │ ├── Print.h │ ├── Printable.h │ ├── Reset.cpp │ ├── Reset.h │ ├── RingBuffer.cpp │ ├── RingBuffer.h │ ├── SERCOM.cpp │ ├── SERCOM.h │ ├── Server.h │ ├── Stream.cpp │ ├── Stream.h │ ├── Tone.cpp │ ├── Tone.h │ ├── USB │ ├── CDC.cpp │ ├── PluggableUSB.cpp │ ├── PluggableUSB.h │ ├── SAMD21_USBDevice.h │ ├── USBAPI.h │ ├── USBCore.cpp │ ├── USBCore.h │ ├── USBDesc.h │ ├── USB_host.h │ ├── samd21_host.c │ └── samd21_host.h │ ├── Uart.cpp │ ├── Uart.h │ ├── Udp.h │ ├── WCharacter.h │ ├── WInterrupts.c │ ├── WInterrupts.h │ ├── WMath.cpp │ ├── WMath.h │ ├── WString.cpp │ ├── WString.h │ ├── WVariant.h │ ├── abi.cpp │ ├── avr │ ├── dtostrf.c │ ├── dtostrf.h │ ├── interrupt.h │ ├── io.h │ └── pgmspace.h │ ├── binary.h │ ├── cortex_handlers.c │ ├── delay.c │ ├── delay.h │ ├── hooks.c │ ├── itoa.c │ ├── itoa.h │ ├── main.cpp │ ├── new.cpp │ ├── pulse.c │ ├── pulse.h │ ├── pulse_asm.S │ ├── startup.c │ ├── wiring.c │ ├── wiring.h │ ├── wiring_analog.c │ ├── wiring_analog.h │ ├── wiring_constants.h │ ├── wiring_digital.c │ ├── wiring_digital.h │ ├── wiring_private.c │ ├── wiring_private.h │ ├── wiring_shift.c │ └── wiring_shift.h ├── drivers ├── Adafruit_Circuit_Playground_Express.inf ├── arduino-samd.cat ├── arduino-samd.inf ├── cdc_vista.cat ├── dpinst-amd64.exe ├── dpinst-x86.exe ├── genuino-samd.cat └── genuino-samd.inf ├── extras ├── pack.hourlybuild.bash ├── pack.pullrequest.bash ├── pack.release.bash ├── package_index.json.Hourly.template └── package_index.json.PR.template ├── libraries ├── AK8963 │ ├── AK8963.cpp │ ├── AK8963.h │ └── Examples │ │ └── _9250_AK8963_demo │ │ └── _9250_AK8963_demo.ino ├── AK8975 │ ├── AK8975.cpp │ ├── AK8975.h │ └── Examples │ │ ├── AK8975_MPUEVB_heading │ │ └── AK8975_MPUEVB_heading.ino │ │ ├── AK8975_MPUEVB_raw │ │ └── AK8975_MPUEVB_raw.ino │ │ └── AK8975_raw │ │ └── AK8975_raw.ino ├── AP_Baro │ ├── AP_Baro_MS5611.cpp │ ├── AP_Baro_MS5611.h │ └── examples │ │ └── AP_Baro_MS5611_test │ │ └── AP_Baro_MS5611_test.ino ├── AP_Filter │ ├── AltitudeComplementary.h │ ├── AverageFilter.h │ ├── Butter.h │ ├── DerivativeFilter.cpp │ ├── DerivativeFilter.h │ ├── Filter.h │ ├── FilterClass.h │ ├── FilterWithBuffer.h │ ├── LowPassFilter.h │ ├── LowPassFilter2p.cpp │ ├── LowPassFilter2p.h │ ├── ModeFilter.h │ ├── MovingAvarageFilter.cpp │ ├── MovingAvarageFilter.h │ ├── README.md │ ├── RunningAverage.cpp │ ├── RunningAverage.h │ ├── examples │ │ ├── Derivative │ │ │ ├── Derivative.pde │ │ │ ├── Makefile │ │ │ └── nocore.inoflag │ │ ├── Filter │ │ │ ├── Filter.pde │ │ │ ├── Makefile │ │ │ └── nocore.inoflag │ │ ├── LowPassFilter │ │ │ ├── LowPassFilter.pde │ │ │ ├── Makefile │ │ │ └── nocore.inoflag │ │ ├── LowPassFilter2p │ │ │ ├── LowPassFilter2p.pde │ │ │ └── Makefile │ │ ├── MovingAvarageFilter │ │ │ └── test.ino │ │ ├── fillValue │ │ │ └── fillValue.ino │ │ ├── ra_hour │ │ │ └── ra_hour.ino │ │ └── ra_test │ │ │ └── ra_test.ino │ └── keywords.txt ├── AP_Math_freeimu │ ├── AP_Math_AVR_Compat.h │ ├── AP_Math_freeimu.cpp │ ├── AP_Math_freeimu.h │ ├── keywords.txt │ ├── matrix3.cpp │ ├── matrix3.h │ ├── rotations.h │ ├── vector2.cpp │ ├── vector2.h │ ├── vector3.cpp │ ├── vector3.h │ └── vectorN.h ├── AltSoftSerial │ ├── AltSoftSerial.cpp │ ├── AltSoftSerial.h │ ├── README.md │ ├── config │ │ ├── AltSoftSerial_Boards.h │ │ ├── AltSoftSerial_Timers.h │ │ ├── known_boards.h │ │ └── known_timers.h │ ├── examples │ │ └── Test │ │ │ └── Test.pde │ └── keywords.txt ├── DCM │ ├── DCM.cpp │ └── DCM.h ├── Eigen325 │ ├── Eigen │ │ ├── Array │ │ ├── CMakeLists.txt │ │ ├── Cholesky │ │ ├── CholmodSupport │ │ ├── Core │ │ ├── Dense │ │ ├── Eigen │ │ ├── Eigen2Support │ │ ├── Eigenvalues │ │ ├── Geometry │ │ ├── Householder │ │ ├── IterativeLinearSolvers │ │ ├── Jacobi │ │ ├── LU │ │ ├── LeastSquares │ │ ├── MetisSupport │ │ ├── OrderingMethods │ │ ├── PaStiXSupport │ │ ├── PardisoSupport │ │ ├── QR │ │ ├── QtAlignedMalloc │ │ ├── SPQRSupport │ │ ├── SVD │ │ ├── Sparse │ │ ├── SparseCholesky │ │ ├── SparseCore │ │ ├── SparseLU │ │ ├── SparseQR │ │ ├── StdDeque │ │ ├── StdList │ │ ├── StdVector │ │ ├── SuperLUSupport │ │ ├── UmfPackSupport │ │ └── src │ │ │ ├── CMakeLists.txt │ │ │ ├── Cholesky │ │ │ ├── CMakeLists.txt │ │ │ ├── LDLT.h │ │ │ ├── LLT.h │ │ │ └── LLT_MKL.h │ │ │ ├── CholmodSupport │ │ │ ├── CMakeLists.txt │ │ │ └── CholmodSupport.h │ │ │ ├── Core │ │ │ ├── Array.h │ │ │ ├── ArrayBase.h │ │ │ ├── ArrayWrapper.h │ │ │ ├── Assign.h │ │ │ ├── Assign_MKL.h │ │ │ ├── BandMatrix.h │ │ │ ├── Block.h │ │ │ ├── BooleanRedux.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommaInitializer.h │ │ │ ├── CoreIterators.h │ │ │ ├── CwiseBinaryOp.h │ │ │ ├── CwiseNullaryOp.h │ │ │ ├── CwiseUnaryOp.h │ │ │ ├── CwiseUnaryView.h │ │ │ ├── DenseBase.h │ │ │ ├── DenseCoeffsBase.h │ │ │ ├── DenseStorage.h │ │ │ ├── Diagonal.h │ │ │ ├── DiagonalMatrix.h │ │ │ ├── DiagonalProduct.h │ │ │ ├── Dot.h │ │ │ ├── EigenBase.h │ │ │ ├── Flagged.h │ │ │ ├── ForceAlignedAccess.h │ │ │ ├── Functors.h │ │ │ ├── Fuzzy.h │ │ │ ├── GeneralProduct.h │ │ │ ├── GenericPacketMath.h │ │ │ ├── GlobalFunctions.h │ │ │ ├── IO.h │ │ │ ├── Map.h │ │ │ ├── MapBase.h │ │ │ ├── MathFunctions.h │ │ │ ├── Matrix.h │ │ │ ├── MatrixBase.h │ │ │ ├── NestByValue.h │ │ │ ├── NoAlias.h │ │ │ ├── NumTraits.h │ │ │ ├── PermutationMatrix.h │ │ │ ├── PlainObjectBase.h │ │ │ ├── ProductBase.h │ │ │ ├── Random.h │ │ │ ├── Redux.h │ │ │ ├── Ref.h │ │ │ ├── Replicate.h │ │ │ ├── ReturnByValue.h │ │ │ ├── Reverse.h │ │ │ ├── Select.h │ │ │ ├── SelfAdjointView.h │ │ │ ├── SelfCwiseBinaryOp.h │ │ │ ├── SolveTriangular.h │ │ │ ├── StableNorm.h │ │ │ ├── Stride.h │ │ │ ├── Swap.h │ │ │ ├── Transpose.h │ │ │ ├── Transpositions.h │ │ │ ├── TriangularMatrix.h │ │ │ ├── VectorBlock.h │ │ │ ├── VectorwiseOp.h │ │ │ ├── Visitor.h │ │ │ ├── arch │ │ │ │ ├── AltiVec │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Default │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── Settings.h │ │ │ │ ├── NEON │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ └── SSE │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ └── PacketMath.h │ │ │ ├── products │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CoeffBasedProduct.h │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ ├── GeneralMatrixMatrix.h │ │ │ │ ├── GeneralMatrixMatrixTriangular.h │ │ │ │ ├── GeneralMatrixMatrixTriangular_MKL.h │ │ │ │ ├── GeneralMatrixMatrix_MKL.h │ │ │ │ ├── GeneralMatrixVector.h │ │ │ │ ├── GeneralMatrixVector_MKL.h │ │ │ │ ├── Parallelizer.h │ │ │ │ ├── SelfadjointMatrixMatrix.h │ │ │ │ ├── SelfadjointMatrixMatrix_MKL.h │ │ │ │ ├── SelfadjointMatrixVector.h │ │ │ │ ├── SelfadjointMatrixVector_MKL.h │ │ │ │ ├── SelfadjointProduct.h │ │ │ │ ├── SelfadjointRank2Update.h │ │ │ │ ├── TriangularMatrixMatrix.h │ │ │ │ ├── TriangularMatrixMatrix_MKL.h │ │ │ │ ├── TriangularMatrixVector.h │ │ │ │ ├── TriangularMatrixVector_MKL.h │ │ │ │ ├── TriangularSolverMatrix.h │ │ │ │ ├── TriangularSolverMatrix_MKL.h │ │ │ │ └── TriangularSolverVector.h │ │ │ └── util │ │ │ │ ├── BlasUtil.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Constants.h │ │ │ │ ├── DisableStupidWarnings.h │ │ │ │ ├── ForwardDeclarations.h │ │ │ │ ├── MKL_support.h │ │ │ │ ├── Macros.h │ │ │ │ ├── Memory.h │ │ │ │ ├── Meta.h │ │ │ │ ├── NonMPL2.h │ │ │ │ ├── ReenableStupidWarnings.h │ │ │ │ ├── StaticAssert.h │ │ │ │ └── XprHelper.h │ │ │ ├── Eigen2Support │ │ │ ├── Block.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Cwise.h │ │ │ ├── CwiseOperators.h │ │ │ ├── Geometry │ │ │ │ ├── AlignedBox.h │ │ │ │ ├── All.h │ │ │ │ ├── AngleAxis.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Hyperplane.h │ │ │ │ ├── ParametrizedLine.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rotation2D.h │ │ │ │ ├── RotationBase.h │ │ │ │ ├── Scaling.h │ │ │ │ ├── Transform.h │ │ │ │ └── Translation.h │ │ │ ├── LU.h │ │ │ ├── Lazy.h │ │ │ ├── LeastSquares.h │ │ │ ├── Macros.h │ │ │ ├── MathFunctions.h │ │ │ ├── Memory.h │ │ │ ├── Meta.h │ │ │ ├── Minor.h │ │ │ ├── QR.h │ │ │ ├── SVD.h │ │ │ ├── TriangularSolver.h │ │ │ └── VectorBlock.h │ │ │ ├── Eigenvalues │ │ │ ├── CMakeLists.txt │ │ │ ├── ComplexEigenSolver.h │ │ │ ├── ComplexSchur.h │ │ │ ├── ComplexSchur_MKL.h │ │ │ ├── EigenSolver.h │ │ │ ├── GeneralizedEigenSolver.h │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h │ │ │ ├── HessenbergDecomposition.h │ │ │ ├── MatrixBaseEigenvalues.h │ │ │ ├── RealQZ.h │ │ │ ├── RealSchur.h │ │ │ ├── RealSchur_MKL.h │ │ │ ├── SelfAdjointEigenSolver.h │ │ │ ├── SelfAdjointEigenSolver_MKL.h │ │ │ └── Tridiagonalization.h │ │ │ ├── Geometry │ │ │ ├── AlignedBox.h │ │ │ ├── AngleAxis.h │ │ │ ├── CMakeLists.txt │ │ │ ├── EulerAngles.h │ │ │ ├── Homogeneous.h │ │ │ ├── Hyperplane.h │ │ │ ├── OrthoMethods.h │ │ │ ├── ParametrizedLine.h │ │ │ ├── Quaternion.h │ │ │ ├── Rotation2D.h │ │ │ ├── RotationBase.h │ │ │ ├── Scaling.h │ │ │ ├── Transform.h │ │ │ ├── Translation.h │ │ │ ├── Umeyama.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Geometry_SSE.h │ │ │ ├── Householder │ │ │ ├── BlockHouseholder.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Householder.h │ │ │ └── HouseholderSequence.h │ │ │ ├── IterativeLinearSolvers │ │ │ ├── BasicPreconditioners.h │ │ │ ├── BiCGSTAB.h │ │ │ ├── CMakeLists.txt │ │ │ ├── ConjugateGradient.h │ │ │ ├── IncompleteLUT.h │ │ │ └── IterativeSolverBase.h │ │ │ ├── Jacobi │ │ │ ├── CMakeLists.txt │ │ │ └── Jacobi.h │ │ │ ├── LU │ │ │ ├── CMakeLists.txt │ │ │ ├── Determinant.h │ │ │ ├── FullPivLU.h │ │ │ ├── Inverse.h │ │ │ ├── PartialPivLU.h │ │ │ ├── PartialPivLU_MKL.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Inverse_SSE.h │ │ │ ├── MetisSupport │ │ │ ├── CMakeLists.txt │ │ │ └── MetisSupport.h │ │ │ ├── OrderingMethods │ │ │ ├── Amd.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Eigen_Colamd.h │ │ │ └── Ordering.h │ │ │ ├── PaStiXSupport │ │ │ ├── CMakeLists.txt │ │ │ └── PaStiXSupport.h │ │ │ ├── PardisoSupport │ │ │ ├── CMakeLists.txt │ │ │ └── PardisoSupport.h │ │ │ ├── QR │ │ │ ├── CMakeLists.txt │ │ │ ├── ColPivHouseholderQR.h │ │ │ ├── ColPivHouseholderQR_MKL.h │ │ │ ├── FullPivHouseholderQR.h │ │ │ ├── HouseholderQR.h │ │ │ └── HouseholderQR_MKL.h │ │ │ ├── SPQRSupport │ │ │ ├── CMakeLists.txt │ │ │ └── SuiteSparseQRSupport.h │ │ │ ├── SVD │ │ │ ├── CMakeLists.txt │ │ │ ├── JacobiSVD.h │ │ │ ├── JacobiSVD_MKL.h │ │ │ └── UpperBidiagonalization.h │ │ │ ├── SparseCholesky │ │ │ ├── CMakeLists.txt │ │ │ ├── SimplicialCholesky.h │ │ │ └── SimplicialCholesky_impl.h │ │ │ ├── SparseCore │ │ │ ├── AmbiVector.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CompressedStorage.h │ │ │ ├── ConservativeSparseSparseProduct.h │ │ │ ├── MappedSparseMatrix.h │ │ │ ├── SparseBlock.h │ │ │ ├── SparseColEtree.h │ │ │ ├── SparseCwiseBinaryOp.h │ │ │ ├── SparseCwiseUnaryOp.h │ │ │ ├── SparseDenseProduct.h │ │ │ ├── SparseDiagonalProduct.h │ │ │ ├── SparseDot.h │ │ │ ├── SparseFuzzy.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseMatrixBase.h │ │ │ ├── SparsePermutation.h │ │ │ ├── SparseProduct.h │ │ │ ├── SparseRedux.h │ │ │ ├── SparseSelfAdjointView.h │ │ │ ├── SparseSparseProductWithPruning.h │ │ │ ├── SparseTranspose.h │ │ │ ├── SparseTriangularView.h │ │ │ ├── SparseUtil.h │ │ │ ├── SparseVector.h │ │ │ ├── SparseView.h │ │ │ └── TriangularSolver.h │ │ │ ├── SparseLU │ │ │ ├── CMakeLists.txt │ │ │ ├── SparseLU.h │ │ │ ├── SparseLUImpl.h │ │ │ ├── SparseLU_Memory.h │ │ │ ├── SparseLU_Structs.h │ │ │ ├── SparseLU_SupernodalMatrix.h │ │ │ ├── SparseLU_Utils.h │ │ │ ├── SparseLU_column_bmod.h │ │ │ ├── SparseLU_column_dfs.h │ │ │ ├── SparseLU_copy_to_ucol.h │ │ │ ├── SparseLU_gemm_kernel.h │ │ │ ├── SparseLU_heap_relax_snode.h │ │ │ ├── SparseLU_kernel_bmod.h │ │ │ ├── SparseLU_panel_bmod.h │ │ │ ├── SparseLU_panel_dfs.h │ │ │ ├── SparseLU_pivotL.h │ │ │ ├── SparseLU_pruneL.h │ │ │ └── SparseLU_relax_snode.h │ │ │ ├── SparseQR │ │ │ ├── CMakeLists.txt │ │ │ └── SparseQR.h │ │ │ ├── StlSupport │ │ │ ├── CMakeLists.txt │ │ │ ├── StdDeque.h │ │ │ ├── StdList.h │ │ │ ├── StdVector.h │ │ │ └── details.h │ │ │ ├── SuperLUSupport │ │ │ ├── CMakeLists.txt │ │ │ └── SuperLUSupport.h │ │ │ ├── UmfPackSupport │ │ │ ├── CMakeLists.txt │ │ │ └── UmfPackSupport.h │ │ │ ├── misc │ │ │ ├── CMakeLists.txt │ │ │ ├── Image.h │ │ │ ├── Kernel.h │ │ │ ├── Solve.h │ │ │ ├── SparseSolve.h │ │ │ └── blas.h │ │ │ └── plugins │ │ │ ├── ArrayCwiseBinaryOps.h │ │ │ ├── ArrayCwiseUnaryOps.h │ │ │ ├── BlockMethods.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommonCwiseBinaryOps.h │ │ │ ├── CommonCwiseUnaryOps.h │ │ │ ├── MatrixCwiseBinaryOps.h │ │ │ └── MatrixCwiseUnaryOps.h │ └── EigenArm.h ├── EigenArduino-Eigen30 │ ├── COPYING.GPL │ ├── COPYING.LGPL │ ├── Eigen │ │ ├── Array │ │ ├── CMakeLists.txt │ │ ├── Cholesky │ │ ├── Core │ │ ├── Dense │ │ ├── Eigen │ │ ├── Eigen2Support │ │ ├── Eigenvalues │ │ ├── Geometry │ │ ├── Householder │ │ ├── Jacobi │ │ ├── LU │ │ ├── LeastSquares │ │ ├── QR │ │ ├── QtAlignedMalloc │ │ ├── SVD │ │ ├── Sparse │ │ ├── StdDeque │ │ ├── StdList │ │ ├── StdVector │ │ └── src │ │ │ ├── CMakeLists.txt │ │ │ ├── Cholesky │ │ │ ├── CMakeLists.txt │ │ │ ├── LDLT.h │ │ │ └── LLT.h │ │ │ ├── Core │ │ │ ├── Array.h │ │ │ ├── ArrayBase.h │ │ │ ├── ArrayWrapper.h │ │ │ ├── Assign.h │ │ │ ├── BandMatrix.h │ │ │ ├── Block.h │ │ │ ├── BooleanRedux.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommaInitializer.h │ │ │ ├── CwiseBinaryOp.h │ │ │ ├── CwiseNullaryOp.h │ │ │ ├── CwiseUnaryOp.h │ │ │ ├── CwiseUnaryView.h │ │ │ ├── DenseBase.h │ │ │ ├── DenseCoeffsBase.h │ │ │ ├── DenseStorage.h │ │ │ ├── Diagonal.h │ │ │ ├── DiagonalMatrix.h │ │ │ ├── DiagonalProduct.h │ │ │ ├── Dot.h │ │ │ ├── EigenBase.h │ │ │ ├── Flagged.h │ │ │ ├── ForceAlignedAccess.h │ │ │ ├── Functors.h │ │ │ ├── Fuzzy.h │ │ │ ├── GenericPacketMath.h │ │ │ ├── GlobalFunctions.h │ │ │ ├── IO.h │ │ │ ├── Map.h │ │ │ ├── MapBase.h │ │ │ ├── MathFunctions.h │ │ │ ├── Matrix.h │ │ │ ├── MatrixBase.h │ │ │ ├── NestByValue.h │ │ │ ├── NoAlias.h │ │ │ ├── NumTraits.h │ │ │ ├── PermutationMatrix.h │ │ │ ├── PlainObjectBase.h │ │ │ ├── Product.h │ │ │ ├── ProductBase.h │ │ │ ├── Random.h │ │ │ ├── Redux.h │ │ │ ├── Replicate.h │ │ │ ├── ReturnByValue.h │ │ │ ├── Reverse.h │ │ │ ├── Select.h │ │ │ ├── SelfAdjointView.h │ │ │ ├── SelfCwiseBinaryOp.h │ │ │ ├── SolveTriangular.h │ │ │ ├── StableNorm.h │ │ │ ├── Stride.h │ │ │ ├── Swap.h │ │ │ ├── Transpose.h │ │ │ ├── Transpositions.h │ │ │ ├── TriangularMatrix.h │ │ │ ├── VectorBlock.h │ │ │ ├── VectorwiseOp.h │ │ │ ├── Visitor.h │ │ │ ├── arch │ │ │ │ ├── AltiVec │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Default │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── Settings.h │ │ │ │ ├── NEON │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ └── SSE │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ └── PacketMath.h │ │ │ ├── products │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CoeffBasedProduct.h │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ ├── GeneralMatrixMatrix.h │ │ │ │ ├── GeneralMatrixMatrixTriangular.h │ │ │ │ ├── GeneralMatrixVector.h │ │ │ │ ├── Parallelizer.h │ │ │ │ ├── SelfadjointMatrixMatrix.h │ │ │ │ ├── SelfadjointMatrixVector.h │ │ │ │ ├── SelfadjointProduct.h │ │ │ │ ├── SelfadjointRank2Update.h │ │ │ │ ├── TriangularMatrixMatrix.h │ │ │ │ ├── TriangularMatrixVector.h │ │ │ │ ├── TriangularSolverMatrix.h │ │ │ │ └── TriangularSolverVector.h │ │ │ └── util │ │ │ │ ├── BlasUtil.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Constants.h │ │ │ │ ├── DisableStupidWarnings.h │ │ │ │ ├── ForwardDeclarations.h │ │ │ │ ├── Macros.h │ │ │ │ ├── Memory.h │ │ │ │ ├── Meta.h │ │ │ │ ├── ReenableStupidWarnings.h │ │ │ │ ├── StaticAssert.h │ │ │ │ └── XprHelper.h │ │ │ ├── Eigen2Support │ │ │ ├── Block.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Cwise.h │ │ │ ├── CwiseOperators.h │ │ │ ├── Geometry │ │ │ │ ├── AlignedBox.h │ │ │ │ ├── All.h │ │ │ │ ├── AngleAxis.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Hyperplane.h │ │ │ │ ├── ParametrizedLine.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rotation2D.h │ │ │ │ ├── RotationBase.h │ │ │ │ ├── Scaling.h │ │ │ │ ├── Transform.h │ │ │ │ └── Translation.h │ │ │ ├── LU.h │ │ │ ├── Lazy.h │ │ │ ├── LeastSquares.h │ │ │ ├── Macros.h │ │ │ ├── MathFunctions.h │ │ │ ├── Memory.h │ │ │ ├── Meta.h │ │ │ ├── Minor.h │ │ │ ├── QR.h │ │ │ ├── SVD.h │ │ │ ├── TriangularSolver.h │ │ │ └── VectorBlock.h │ │ │ ├── Eigenvalues │ │ │ ├── CMakeLists.txt │ │ │ ├── ComplexEigenSolver.h │ │ │ ├── ComplexSchur.h │ │ │ ├── EigenSolver.h │ │ │ ├── EigenvaluesCommon.h │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h │ │ │ ├── HessenbergDecomposition.h │ │ │ ├── MatrixBaseEigenvalues.h │ │ │ ├── RealSchur.h │ │ │ ├── SelfAdjointEigenSolver.h │ │ │ └── Tridiagonalization.h │ │ │ ├── Geometry │ │ │ ├── AlignedBox.h │ │ │ ├── AngleAxis.h │ │ │ ├── CMakeLists.txt │ │ │ ├── EulerAngles.h │ │ │ ├── Homogeneous.h │ │ │ ├── Hyperplane.h │ │ │ ├── OrthoMethods.h │ │ │ ├── ParametrizedLine.h │ │ │ ├── Quaternion.h │ │ │ ├── Rotation2D.h │ │ │ ├── RotationBase.h │ │ │ ├── Scaling.h │ │ │ ├── Transform.h │ │ │ ├── Translation.h │ │ │ ├── Umeyama.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Geometry_SSE.h │ │ │ ├── Householder │ │ │ ├── BlockHouseholder.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Householder.h │ │ │ └── HouseholderSequence.h │ │ │ ├── Jacobi │ │ │ ├── CMakeLists.txt │ │ │ └── Jacobi.h │ │ │ ├── LU │ │ │ ├── CMakeLists.txt │ │ │ ├── Determinant.h │ │ │ ├── FullPivLU.h │ │ │ ├── Inverse.h │ │ │ ├── PartialPivLU.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Inverse_SSE.h │ │ │ ├── QR │ │ │ ├── CMakeLists.txt │ │ │ ├── ColPivHouseholderQR.h │ │ │ ├── FullPivHouseholderQR.h │ │ │ └── HouseholderQR.h │ │ │ ├── SVD │ │ │ ├── CMakeLists.txt │ │ │ ├── JacobiSVD.h │ │ │ └── UpperBidiagonalization.h │ │ │ ├── Sparse │ │ │ ├── AmbiVector.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CompressedStorage.h │ │ │ ├── CoreIterators.h │ │ │ ├── DynamicSparseMatrix.h │ │ │ ├── MappedSparseMatrix.h │ │ │ ├── SparseAssign.h │ │ │ ├── SparseBlock.h │ │ │ ├── SparseCwiseBinaryOp.h │ │ │ ├── SparseCwiseUnaryOp.h │ │ │ ├── SparseDenseProduct.h │ │ │ ├── SparseDiagonalProduct.h │ │ │ ├── SparseDot.h │ │ │ ├── SparseFuzzy.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseMatrixBase.h │ │ │ ├── SparseProduct.h │ │ │ ├── SparseRedux.h │ │ │ ├── SparseSelfAdjointView.h │ │ │ ├── SparseSparseProduct.h │ │ │ ├── SparseTranspose.h │ │ │ ├── SparseTriangularView.h │ │ │ ├── SparseUtil.h │ │ │ ├── SparseVector.h │ │ │ ├── SparseView.h │ │ │ └── TriangularSolver.h │ │ │ ├── StlSupport │ │ │ ├── CMakeLists.txt │ │ │ ├── StdDeque.h │ │ │ ├── StdList.h │ │ │ ├── StdVector.h │ │ │ └── details.h │ │ │ ├── misc │ │ │ ├── CMakeLists.txt │ │ │ ├── Image.h │ │ │ ├── Kernel.h │ │ │ └── Solve.h │ │ │ └── plugins │ │ │ ├── ArrayCwiseBinaryOps.h │ │ │ ├── ArrayCwiseUnaryOps.h │ │ │ ├── BlockMethods.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommonCwiseBinaryOps.h │ │ │ ├── CommonCwiseUnaryOps.h │ │ │ ├── MatrixCwiseBinaryOps.h │ │ │ └── MatrixCwiseUnaryOps.h │ ├── Eigen30.h │ ├── EigenAVR.h │ ├── README.mkd │ └── generate_restore_macros.sh ├── ExtendedKalman │ ├── ExtendedKalman.cpp │ ├── ExtendedKalman.h │ ├── Quaternion.cpp │ ├── Quaternion.h │ ├── ref │ │ ├── ADA384973.pdf │ │ ├── AHRSKalman.cpp │ │ ├── AHRSKalman.h │ │ ├── ExtendedKalman.cpp │ │ ├── ExtendedKalman.h │ │ ├── PICInterface.cpp │ │ ├── PICInterface.h │ │ ├── Quaternion.cpp │ │ ├── Quaternion.h │ │ ├── Quaternions_3D.pdf │ │ ├── The-Design-and-Implementation-of-a-Robust-AHRS-for-Implementation-on-a-Quadrotor.pdf │ │ ├── Timer.cpp │ │ ├── Timer.h │ │ ├── sensors-12-09566-v2.pdf │ │ ├── struct_calibratedData.h │ │ └── struct_euler.h │ ├── struct_calibratedData.h │ └── struct_euler.h ├── FemtoBeacon_Rf │ ├── FemtoBeacon_PRO_Rf_FreeIMU_raw │ │ ├── FemtoBeacon_PRO_Rf_FreeIMU_raw.ino │ │ └── calibration.h │ ├── FemtoBeacon_PRO_Rf_MESH_IMU_Dongle │ │ └── FemtoBeacon_PRO_Rf_MESH_IMU_Dongle.ino │ ├── FemtoBeacon_PRO_Rf_MESH_IMU_Node │ │ ├── FemtoBeacon_PRO_Rf_MESH_IMU_Node.ino │ │ └── calibration.h │ ├── FemtoBeacon_PRO_Rf_RGB_LED │ │ └── FemtoBeacon_PRO_Rf_RGB_LED.ino │ ├── FemtoBeacon_Rf.cpp │ ├── FemtoBeacon_Rf.h │ ├── FemtoBeacon_Rf_Coin_Mouse │ │ ├── FemtoBeacon_Rf_Coin_Mouse.ino │ │ └── calibration.h │ ├── FemtoBeacon_Rf_Dongle_Mouse │ │ └── FemtoBeacon_Rf_Dongle_Mouse.ino │ ├── FemtoBeacon_Rf_FreeIMU_YPR │ │ ├── FemtoBeacon_Rf_FreeIMU_YPR.ino │ │ └── calibration.h │ ├── FemtoBeacon_Rf_FreeIMU_raw │ │ ├── FemtoBeacon_Rf_FreeIMU_raw.ino │ │ └── calibration.h │ ├── FemtoBeacon_Rf_MESH_IMU_Coin │ │ ├── FemtoBeacon_Rf_MESH_IMU_Coin.ino │ │ └── calibration.h │ ├── FemtoBeacon_Rf_MESH_IMU_Dongle │ │ └── FemtoBeacon_Rf_MESH_IMU_Dongle.ino │ ├── FemtoBeacon_Rf_MESH_RGB_IMU_Coin │ │ ├── FemtoBeacon_Rf_MESH_RGB_IMU_Coin.ino │ │ └── calibration.h │ ├── FemtoBeacon_Rf_MESH_RGB_IMU_Dongle │ │ └── FemtoBeacon_Rf_MESH_RGB_IMU_Dongle.ino │ ├── FemtoBeacon_Rf_NWK_Ping │ │ └── FemtoBeacon_Rf_NWK_Ping.ino │ ├── FemtoBeacon_Rf_Sleep │ │ └── FemtoBeacon_Rf_Sleep.ino │ ├── FemtoBeacon_Rf_Wireless_Data │ │ └── FemtoBeacon_Rf_Wireless_Data.ino │ ├── FemtoBeacon_serial │ │ └── FemtoBeacon_serial.ino │ ├── FemtoCore_r2.0.7 │ │ └── FemtoCore_r2.0.7.ino │ └── library.properties ├── FemtoCore │ ├── FemtoCore.cpp │ ├── FemtoCore.h │ ├── keywords.txt │ └── library.properties ├── FemtoUSB │ ├── FemtoUSB.cpp │ ├── FemtoUSB.h │ ├── examples │ │ ├── FreeIMU_and_RGB_over_serial │ │ │ └── FreeIMU_and_RGB_over_serial.ino │ │ ├── RGB_LED │ │ │ └── RGB_LED.ino │ │ ├── RGB_LED_PushButton │ │ │ └── RGB_LED_PushButton.ino │ │ ├── RGB_SerialControl │ │ │ └── RGB_SerialControl.ino │ │ ├── SerialUSB_Hello │ │ │ └── SerialUSB_Hello.ino │ │ └── USB_OTG_Card_Adapter │ │ │ ├── USB_OTG_Card_Adapter.ino │ │ │ └── pgmstrings.h │ └── library.properties ├── FreeIMU │ ├── AHRS.h │ ├── FreeIMU.cpp │ ├── FreeIMU.h │ ├── Instructions.txt │ ├── LICENSE.txt │ ├── MARGUpdateFilter.h │ ├── MadgwickAHRS.h │ ├── calibration.h │ ├── doxyconf │ └── vector_math.h ├── FreeIMU60XX │ ├── AHRS6050.h │ ├── FreeIMU_6050.cpp │ ├── FreeIMU_6050.h │ ├── Instructions.txt │ ├── LICENSE.txt │ ├── MARGUpdateFilter6050.h │ ├── MadgwickAHRS6050.h │ ├── calibration-10-5-14-dfrobot.h │ ├── calibration-10724.h │ ├── calibration-1111.h │ ├── calibration-6050.h │ ├── calibration-Altimu.h │ ├── calibration-Dfrobot10.h │ ├── calibration-Freeimu-11-3-14.h │ ├── calibration-freeimu2.h │ ├── calibration-lsm9ds0.h │ ├── calibration-microduino.h │ ├── calibration.h │ ├── calibration6050.h │ ├── calibration9250.h │ ├── calibrationAPM-11-15-14.h │ ├── calibrationAltimu - teensy.h │ ├── calibrationAltimuSep14.h │ ├── debug │ │ ├── decode_float.py │ │ ├── log.py │ │ ├── log.txt │ │ ├── log_quat.txt │ │ └── timing.py │ ├── doxyconf │ ├── examples │ │ ├── FreeIMU_serial_calib_v2 │ │ │ └── FreeIMU_serial_calib_v2.ino │ │ └── FreeIMU_yaw_pitch_roll │ │ │ └── FreeIMU_yaw_pitch_roll.ino │ └── vector_math.h ├── FreeIMUUtils │ ├── CommunicationUtils.cpp │ ├── CommunicationUtils.h │ └── DebugUtils.h ├── HID │ ├── HID.cpp │ ├── HID.h │ ├── keywords.txt │ └── library.properties ├── I2Cdev │ ├── I2Cdev.cpp │ └── I2Cdev.h ├── I2S │ ├── examples │ │ ├── InputSerialPlotter │ │ │ └── InputSerialPlotter.ino │ │ └── SimpleTone │ │ │ └── SimpleTone.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── I2S.cpp │ │ ├── I2S.h │ │ └── utility │ │ ├── DMA.cpp │ │ ├── DMA.h │ │ ├── I2SDoubleBuffer.cpp │ │ ├── I2SDoubleBuffer.h │ │ └── SAMD21_I2SDevice.h ├── INSTALL.txt ├── Kalman │ ├── FilteringScheme.cpp │ ├── FilteringScheme.h │ └── Kalman.h ├── MPU60X0 │ ├── Examples │ │ ├── MPU6000_DMP6 │ │ │ ├── MPU6000_DMP6.ino │ │ │ └── Processing │ │ │ │ └── MPUTeapot │ │ │ │ └── MPUTeapot.pde │ │ ├── MPU6050_MotionDetect │ │ │ └── MPU6050_MotionDetect.ino │ │ ├── MPU6050_raw │ │ │ └── MPU6050_raw.ino │ │ └── MPU6050_raw_temp │ │ │ └── MPU6050_raw_temp.ino │ ├── MPU60X0.cpp │ ├── MPU60X0.h │ ├── MPU60X0_6Axis_MotionApps20.h │ └── helper_3dmath.h ├── MS561101BA │ ├── INSTALL.txt │ ├── LICENSE.txt │ ├── MS561101BA.cpp │ ├── MS561101BA.h │ └── examples │ │ ├── MS561101BA_altitude │ │ └── MS561101BA_altitude.pde │ │ └── MS561101BA_simple │ │ └── MS561101BA_simple.pde ├── SAMD_AnalogCorrection │ ├── examples │ │ └── CorrectADCResponse │ │ │ └── CorrectADCResponse.ino │ ├── library.properties │ └── src │ │ ├── SAMD_AnalogCorrection.cpp │ │ └── SAMD_AnalogCorrection.h ├── SPI │ ├── SPI.cpp │ ├── SPI.h │ ├── examples │ │ ├── BarometricPressureSensor │ │ │ └── BarometricPressureSensor.ino │ │ └── DigitalPotControl │ │ │ └── DigitalPotControl.ino │ ├── keywords.txt │ └── library.properties ├── StandardCplusplus │ ├── .gitignore │ ├── Jamfile │ ├── Makefile │ ├── README.md │ ├── StandardCplusplus.h │ ├── algorithm │ ├── algorithm.cpp │ ├── associative_base │ ├── associative_base.cpp │ ├── basic_definitions │ ├── bitset │ ├── bitset.cpp │ ├── cassert │ ├── cctype │ ├── cerrno │ ├── cfloat │ ├── char_traits │ ├── char_traits.cpp │ ├── climits │ ├── clocale │ ├── cmath │ ├── complex │ ├── complex.cpp │ ├── csetjmp │ ├── csignal │ ├── cstdarg │ ├── cstddef │ ├── cstdio │ ├── cstdlib │ ├── cstring │ ├── ctime │ ├── cwchar │ ├── cwctype │ ├── del_op.cpp │ ├── del_opnt.cpp │ ├── del_opv.cpp │ ├── del_opvnt.cpp │ ├── deque │ ├── deque.cpp │ ├── eh_alloc.cpp │ ├── eh_globals.cpp │ ├── examples │ │ ├── serstream │ │ │ ├── Jamfile │ │ │ ├── more.cpp │ │ │ ├── runtests.sh │ │ │ ├── serstream.ino │ │ │ └── test.ex │ │ └── string_vector │ │ │ ├── Jamfile │ │ │ └── string_vector.ino │ ├── exception │ ├── exception.cpp │ ├── fstream │ ├── fstream.cpp │ ├── func_exception │ ├── func_exception.cpp │ ├── functional │ ├── initializer_list │ ├── iomanip │ ├── iomanip.cpp │ ├── ios │ ├── ios.cpp │ ├── iosfwd │ ├── iostream │ ├── iostream.cpp │ ├── istream │ ├── istream.cpp │ ├── istream_helpers │ ├── iterator │ ├── iterator.cpp │ ├── iterator_base │ ├── limits │ ├── limits.cpp │ ├── list │ ├── list.cpp │ ├── locale │ ├── locale.cpp │ ├── map │ ├── map.cpp │ ├── memory │ ├── new │ ├── new_handler.cpp │ ├── new_op.cpp │ ├── new_opnt.cpp │ ├── new_opv.cpp │ ├── new_opvnt.cpp │ ├── numeric │ ├── numeric.cpp │ ├── ostream │ ├── ostream.cpp │ ├── ostream_helpers │ ├── queue │ ├── queue.cpp │ ├── serstream │ ├── set │ ├── set.cpp │ ├── sstream │ ├── sstream.cpp │ ├── stack │ ├── stack.cpp │ ├── stdexcept │ ├── stdexcept.cpp │ ├── streambuf │ ├── streambuf.cpp │ ├── string │ ├── string.cpp │ ├── string_iostream │ ├── support │ ├── support.cpp │ ├── system_configuration.h │ ├── type_traits │ ├── typeinfo │ ├── typeinfo.cpp │ ├── uartbuf │ ├── unwind-cxx.h │ ├── utility.cpp │ ├── utility.h │ ├── valarray │ ├── valarray.cpp │ ├── vector │ └── vector.cpp ├── USBHost │ ├── examples │ │ ├── ADKTerminalTest │ │ │ └── ADKTerminalTest.ino │ │ ├── KeyboardController │ │ │ └── KeyboardController.ino │ │ ├── MouseController │ │ │ └── MouseController.ino │ │ └── USB_desc │ │ │ ├── USB_desc.ino │ │ │ └── pgmstrings.h │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── KeyboardController.cpp │ │ ├── KeyboardController.h │ │ ├── MouseController.cpp │ │ ├── MouseController.h │ │ ├── Usb.cpp │ │ ├── Usb.h │ │ ├── UsbCore.h │ │ ├── address.h │ │ ├── adk.cpp │ │ ├── adk.h │ │ ├── confdescparser.h │ │ ├── hexdump.h │ │ ├── hid.cpp │ │ ├── hid.h │ │ ├── hidboot.cpp │ │ ├── hidboot.h │ │ ├── hidescriptorparser.cpp │ │ ├── hidescriptorparser.h │ │ ├── hiduniversal.cpp │ │ ├── hiduniversal.h │ │ ├── hidusagestr.h │ │ ├── macros.h │ │ ├── message.cpp │ │ ├── message.h │ │ ├── parsetools.cpp │ │ ├── parsetools.h │ │ ├── printhex.h │ │ ├── sink_parser.h │ │ ├── usb_ch9.h │ │ ├── usbhub.cpp │ │ └── usbhub.h ├── Wire │ ├── Wire.cpp │ ├── Wire.h │ ├── examples │ │ ├── SFRRanger_reader │ │ │ └── SFRRanger_reader.ino │ │ ├── digital_potentiometer │ │ │ └── digital_potentiometer.ino │ │ ├── master_reader │ │ │ └── master_reader.ino │ │ ├── master_writer │ │ │ └── master_writer.ino │ │ ├── slave_receiver │ │ │ └── slave_receiver.ino │ │ └── slave_sender │ │ │ └── slave_sender.ino │ ├── keywords.txt │ └── library.properties ├── iCompass │ ├── iCompass.cpp │ ├── iCompass.h │ └── keywords.txt └── stlport │ ├── .gitignore │ ├── README.txt │ ├── algorithm │ ├── assert.h │ ├── bitset │ ├── callstack.h │ ├── cassert │ ├── cctype │ ├── cerrno │ ├── cfloat │ ├── ciso646 │ ├── climits │ ├── clocale │ ├── cmath │ ├── complex │ ├── condition_variable │ ├── csetjmp │ ├── csignal │ ├── cstdarg │ ├── cstddef │ ├── cstdint │ ├── cstdio │ ├── cstdlib │ ├── cstring │ ├── ctime │ ├── ctype.h │ ├── cwchar │ ├── cwctype │ ├── deque │ ├── errno.h │ ├── exception │ ├── exception.h │ ├── float.h │ ├── functional │ ├── hash_map │ ├── hash_set │ ├── iomanip │ ├── ios │ ├── iosfwd │ ├── iostream │ ├── iso646.h │ ├── istream │ ├── iterator │ ├── keywords.txt │ ├── limits │ ├── limits.h │ ├── list │ ├── locale │ ├── locale.h │ ├── map │ ├── math.h │ ├── mem.h │ ├── memory │ ├── mutex │ ├── new │ ├── new.h │ ├── numeric │ ├── ostream │ ├── queue │ ├── rope │ ├── set │ ├── setjmp.h │ ├── signal.h │ ├── slist │ ├── src │ └── utility │ ├── sstream │ ├── stack │ ├── stdarg.h │ ├── stddef.h │ ├── stdexcept │ ├── stdio.h │ ├── stdlib.h │ ├── stl │ ├── _abbrevs.h │ ├── _algo.c │ ├── _algo.h │ ├── _algobase.c │ ├── _algobase.h │ ├── _alloc.c │ ├── _alloc.h │ ├── _auto_ptr.h │ ├── _bitset.c │ ├── _bitset.h │ ├── _bvector.h │ ├── _carray.h │ ├── _cctype.h │ ├── _clocale.h │ ├── _cmath.h │ ├── _codecvt.h │ ├── _collate.h │ ├── _complex.c │ ├── _complex.h │ ├── _config_compat_post.h │ ├── _construct.h │ ├── _cprolog.h │ ├── _csetjmp.h │ ├── _csignal.h │ ├── _cstdarg.h │ ├── _cstddef.h │ ├── _cstdint.h │ ├── _cstdio.h │ ├── _cstdlib.h │ ├── _cstring.h │ ├── _ctime.h │ ├── _ctraits_fns.h │ ├── _ctype.h │ ├── _cwchar.h │ ├── _cwctype.h │ ├── _deque.c │ ├── _deque.h │ ├── _epilog.h │ ├── _exception.h │ ├── _facets_fwd.h │ ├── _fstream.c │ ├── _fstream.h │ ├── _function.h │ ├── _function_adaptors.h │ ├── _function_base.h │ ├── _hash_fun.h │ ├── _hash_map.h │ ├── _hash_set.h │ ├── _hashtable.c │ ├── _hashtable.h │ ├── _heap.c │ ├── _heap.h │ ├── _iomanip.h │ ├── _ios.c │ ├── _ios.h │ ├── _ios_base.h │ ├── _ioserr.h │ ├── _iosfwd.h │ ├── _iostream_string.h │ ├── _istream.c │ ├── _istream.h │ ├── _istreambuf_iterator.h │ ├── _iterator.h │ ├── _iterator_base.h │ ├── _iterator_old.h │ ├── _limits.c │ ├── _limits.h │ ├── _list.c │ ├── _list.h │ ├── _locale.h │ ├── _map.h │ ├── _mbstate_t.h │ ├── _messages_facets.h │ ├── _monetary.c │ ├── _monetary.h │ ├── _move_construct_fwk.h │ ├── _new.h │ ├── _num_get.c │ ├── _num_get.h │ ├── _num_put.c │ ├── _num_put.h │ ├── _numeric.c │ ├── _numeric.h │ ├── _numpunct.h │ ├── _ostream.c │ ├── _ostream.h │ ├── _ostreambuf_iterator.h │ ├── _pair.h │ ├── _prolog.h │ ├── _pthread_alloc.h │ ├── _ptrs_specialize.h │ ├── _queue.h │ ├── _range_errors.c │ ├── _range_errors.h │ ├── _raw_storage_iter.h │ ├── _relops_cont.h │ ├── _relops_hash_cont.h │ ├── _rope.c │ ├── _rope.h │ ├── _set.h │ ├── _slist.c │ ├── _slist.h │ ├── _slist_base.c │ ├── _slist_base.h │ ├── _sparc_atomic.h │ ├── _sstream.c │ ├── _sstream.h │ ├── _stack.h │ ├── _stdexcept.h │ ├── _stdexcept_base.c │ ├── _stdexcept_base.h │ ├── _stlport_version.h │ ├── _stream_iterator.h │ ├── _streambuf.c │ ├── _streambuf.h │ ├── _string.c │ ├── _string.h │ ├── _string_base.h │ ├── _string_fwd.h │ ├── _string_hash.h │ ├── _string_io.c │ ├── _string_io.h │ ├── _string_npos.h │ ├── _string_operators.h │ ├── _string_sum.h │ ├── _string_sum_methods.h │ ├── _string_workaround.h │ ├── _strstream.h │ ├── _tempbuf.c │ ├── _tempbuf.h │ ├── _threads.c │ ├── _threads.h │ ├── _time_facets.c │ ├── _time_facets.h │ ├── _tree.c │ ├── _tree.h │ ├── _typeinfo.h │ ├── _uninitialized.h │ ├── _unordered_map.h │ ├── _unordered_set.h │ ├── _valarray.c │ ├── _valarray.h │ ├── _vector.c │ ├── _vector.h │ ├── boost_type_traits.h │ ├── c_locale.h │ ├── char_traits.h │ ├── concept_checks.h │ ├── config │ │ ├── _aix.h │ │ ├── _android.h │ │ ├── _apcc.h │ │ ├── _apple.h │ │ ├── _armcc.h │ │ ├── _as400.h │ │ ├── _auto_link.h │ │ ├── _avr.h │ │ ├── _bc.h │ │ ├── _clang.h │ │ ├── _como.h │ │ ├── _cray.h │ │ ├── _cygwin.h │ │ ├── _dec.h │ │ ├── _dec_vms.h │ │ ├── _detect_dll_or_lib.h │ │ ├── _dm.h │ │ ├── _epilog.h │ │ ├── _evc.h │ │ ├── _feedback.h │ │ ├── _freebsd.h │ │ ├── _fujitsu.h │ │ ├── _gcc.h │ │ ├── _hpacc.h │ │ ├── _hpux.h │ │ ├── _ibm.h │ │ ├── _icc.h │ │ ├── _intel.h │ │ ├── _kai.h │ │ ├── _linux.h │ │ ├── _mac.h │ │ ├── _macosx.h │ │ ├── _mlc.h │ │ ├── _msvc.h │ │ ├── _mwerks.h │ │ ├── _native_headers.h │ │ ├── _openbsd.h │ │ ├── _prolog.h │ │ ├── _sgi.h │ │ ├── _solaris.h │ │ ├── _sunprocc.h │ │ ├── _system.h │ │ ├── _warnings_off.h │ │ ├── _watcom.h │ │ ├── _wince_windows_suffix.h │ │ ├── _windows.h │ │ ├── compat.h │ │ ├── features.h │ │ ├── host.h │ │ ├── stl_confix.h │ │ ├── stl_mycomp.h │ │ └── user_config.h │ ├── debug │ │ ├── _debug.c │ │ ├── _debug.h │ │ ├── _deque.h │ │ ├── _hashtable.h │ │ ├── _iterator.h │ │ ├── _list.h │ │ ├── _slist.h │ │ ├── _string.h │ │ ├── _string_sum_methods.h │ │ ├── _tree.h │ │ └── _vector.h │ ├── msl_string.h │ ├── pointers │ │ ├── _deque.h │ │ ├── _list.h │ │ ├── _set.h │ │ ├── _slist.h │ │ ├── _tools.h │ │ └── _vector.h │ ├── type_manips.h │ └── type_traits.h │ ├── stlport.h │ ├── streambuf │ ├── string │ ├── string.h │ ├── system_error │ ├── thread │ ├── time.h │ ├── type_traits │ ├── typeinfo │ ├── unordered_map │ ├── unordered_set │ ├── using │ ├── cstring │ ├── export │ ├── fstream │ ├── iomanip │ ├── ios │ ├── iosfwd │ ├── iostream │ ├── istream │ ├── locale │ ├── ostream │ ├── sstream │ ├── streambuf │ └── strstream │ ├── valarray │ ├── vector │ ├── wchar.h │ └── wctype.h ├── platform.txt ├── post_install.bat ├── programmers.txt └── variants ├── atsamd21e18a ├── debug_scripts │ └── variant.gdb ├── linker_scripts │ └── gcc │ │ ├── flash_with_bootloader.ld │ │ └── flash_without_bootloader.ld ├── openocd_scripts │ └── atsamd21e18a.cfg ├── pins_arduino.h ├── variant.cpp └── variant.h ├── atsamr21e18a ├── debug_scripts │ └── variant.gdb ├── linker_scripts │ └── gcc │ │ ├── flash_with_bootloader.ld │ │ └── flash_without_bootloader.ld ├── openocd_scripts │ └── atsamr21e18a.cfg ├── pins_arduino.h ├── variant.cpp └── variant.h └── femtobeaconpro ├── debug_scripts └── variant.gdb ├── linker_scripts └── gcc │ ├── flash_with_bootloader.ld │ └── flash_without_bootloader.ld ├── openocd_scripts └── atsamr21e18a.cfg ├── pins_arduino.h ├── variant.cpp └── variant.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.bz2 2 | 3 | bootloaders/*/build/ 4 | **/*/*.cproject 5 | **/*/*.project 6 | **/*/*.settings 7 | **/*/*.launch 8 | 9 | *.swp 10 | 11 | 12 | # General 13 | .DS_Store 14 | .AppleDouble 15 | .LSOverride 16 | 17 | # Icon must end with two \r 18 | Icon 19 | 20 | 21 | # Thumbnails 22 | ._* 23 | 24 | # Files that might appear in the root of a volume 25 | .DocumentRevisions-V100 26 | .fseventsd 27 | .Spotlight-V100 28 | .TemporaryItems 29 | .Trashes 30 | .VolumeIcon.icns 31 | .com.apple.timemachine.donotpresent 32 | 33 | # Directories potentially created on remote AFP share 34 | .AppleDB 35 | .AppleDesktop 36 | Network Trash Folder 37 | Temporary Items 38 | .apdisk 39 | 40 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "libraries/RTCZero"] 2 | path = libraries/RTCZero 3 | url = https://github.com/femtoduino/RTCZero.git 4 | [submodule "libraries/atmel-lwm"] 5 | path = libraries/atmel-lwm 6 | url = https://github.com/femtoduino/library-atmel-lwm.git 7 | -------------------------------------------------------------------------------- /VARIANT_COMPLIANCE_CHANGELOG: -------------------------------------------------------------------------------- 1 | SAMD CORE 1.6.10 2 | 3 | * The linker script must define `__text_start__` symbol at the beginning of .text section. 4 | This symbol is used to automatically determine the bootloader size. 5 | 6 | SAMD CORE 1.6.6 7 | 8 | * `digitalPinToInterrupt` #define moved to Arduino.h, variant.h must no longer define it. 9 | 10 | SAMD CORE 1.6.3 11 | 12 | * Timer for pin PWM selected based on value of `PIN_ATTR_TIMER_ALT` or `PIN_ATTR_TIMER`. 13 | Prior to this "pin type" (ulPinType) was used. 14 | -------------------------------------------------------------------------------- /bootloaders/zero_osc32k/ASF/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/bootloaders/zero_osc32k/ASF/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf -------------------------------------------------------------------------------- /bootloaders/zero_osc32k/ASF/thirdparty/CMSIS/Lib/GCC/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | 3 | !*.a 4 | 5 | -------------------------------------------------------------------------------- /bootloaders/zero_osc32k/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/bootloaders/zero_osc32k/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a -------------------------------------------------------------------------------- /bootloaders/zero_osc32k/samd21_sam_ba.atsln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Atmel Studio Solution File, Format Version 11.00 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "samd21_sam_ba", "samd21_sam_ba.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|ARM = Debug|ARM 11 | Release|ARM = Release|ARM 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM 15 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM 16 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM 17 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /bootloaders/zero_osc32k/samd21_sam_ba.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/bootloaders/zero_osc32k/samd21_sam_ba.bin -------------------------------------------------------------------------------- /cores/arduino_osc32k/Reset.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | void initiateReset(int ms); 26 | void tickReset(); 27 | void cancelReset(); 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/SERCOM.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/cores/arduino_osc32k/SERCOM.cpp -------------------------------------------------------------------------------- /cores/arduino_osc32k/Server.h: -------------------------------------------------------------------------------- 1 | /* 2 | Server.h - Base class that provides Server 3 | Copyright (c) 2011 Adrian McEwen. All right reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef server_h 21 | #define server_h 22 | 23 | #include "Print.h" 24 | 25 | class Server : public Print { 26 | public: 27 | virtual void begin() =0; 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/Tone.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | 23 | #include "Arduino.h" 24 | 25 | void tone(uint32_t _pin, uint32_t frequency, uint32_t duration = 0); 26 | void noTone(uint32_t _pin); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/WMath.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2014 Arduino. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef _WIRING_MATH_ 20 | #define _WIRING_MATH_ 21 | 22 | extern long random( long ) ; 23 | extern long random( long, long ) ; 24 | extern void randomSeed( uint32_t dwSeed ) ; 25 | extern long map( long, long, long, long, long ) ; 26 | 27 | extern uint16_t makeWord( uint16_t w ) ; 28 | extern uint16_t makeWord( uint8_t h, uint8_t l ) ; 29 | 30 | #define word(...) makeWord(__VA_ARGS__) 31 | 32 | 33 | #endif /* _WIRING_MATH_ */ 34 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/avr/dtostrf.c: -------------------------------------------------------------------------------- 1 | /* 2 | dtostrf - Emulation for dtostrf function from avr-libc 3 | Copyright (c) 2015 Arduino LLC. All rights reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #include 21 | 22 | char *dtostrf (double val, signed char width, unsigned char prec, char *sout) { 23 | asm(".global _printf_float"); 24 | 25 | char fmt[20]; 26 | sprintf(fmt, "%%%d.%df", width, prec); 27 | sprintf(sout, fmt, val); 28 | return sout; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/avr/dtostrf.h: -------------------------------------------------------------------------------- 1 | /* 2 | dtostrf - Emulation for dtostrf function from avr-libc 3 | Copyright (c) 2015 Arduino LLC. All rights reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #pragma once 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | char *dtostrf(double val, signed char width, unsigned char prec, char *sout); 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/avr/interrupt.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LCC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /* 20 | Empty file. 21 | This file is here to allow compatibility with sketches (made for AVR) 22 | that includes 23 | */ 24 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/new.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2014 Arduino. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #include 20 | 21 | void *operator new(size_t size) { 22 | return malloc(size); 23 | } 24 | 25 | void *operator new[](size_t size) { 26 | return malloc(size); 27 | } 28 | 29 | void operator delete(void * ptr) { 30 | free(ptr); 31 | } 32 | 33 | void operator delete[](void * ptr) { 34 | free(ptr); 35 | } 36 | 37 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/wiring.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | extern void init(void); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /cores/arduino_osc32k/wiring_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | #include 23 | #include 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | // Includes Atmel CMSIS 30 | #include "sam.h" 31 | 32 | #include "wiring_constants.h" 33 | 34 | int pinPeripheral( uint32_t ulPin, EPioType ulPeripheral ); 35 | 36 | #ifdef __cplusplus 37 | } // extern "C" 38 | 39 | #include "HardwareSerial.h" 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /drivers/arduino-samd.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/drivers/arduino-samd.cat -------------------------------------------------------------------------------- /drivers/cdc_vista.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/drivers/cdc_vista.cat -------------------------------------------------------------------------------- /drivers/dpinst-amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/drivers/dpinst-amd64.exe -------------------------------------------------------------------------------- /drivers/dpinst-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/drivers/dpinst-x86.exe -------------------------------------------------------------------------------- /drivers/genuino-samd.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/drivers/genuino-samd.cat -------------------------------------------------------------------------------- /libraries/AP_Baro/AP_Baro_MS5611.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __AP_BARO_MS5611_H__ 3 | #define __AP_BARO_MS5611_H__ 4 | 5 | //#include "AP_Baro.h" 6 | 7 | class AP_Baro_MS5611 8 | { 9 | public: 10 | AP_Baro_MS5611() {} // Constructor 11 | void init(); 12 | 13 | /* AP_Baro public interface: */ 14 | uint8_t read(); 15 | int32_t get_pressure(); // in mbar*100 units 16 | int16_t get_temperature(); // in celsius degrees * 100 units 17 | float get_altitude(); // in meter units 18 | 19 | int32_t get_raw_pressure(); 20 | int32_t get_raw_temp(); 21 | 22 | private: 23 | 24 | int16_t Temp; 25 | int32_t Press; 26 | int32_t Alt; 27 | 28 | int32_t _raw_press; 29 | int32_t _raw_temp; 30 | // Internal calibration registers 31 | uint16_t C1,C2,C3,C4,C5,C6; 32 | uint32_t D1,D2; 33 | void calculate(); 34 | uint8_t MS5611_Ready(); 35 | long MS5611_timer; 36 | uint8_t MS5611_State; 37 | }; 38 | 39 | #endif // __AP_BARO_MS5611_H__ 40 | -------------------------------------------------------------------------------- /libraries/AP_Filter/Filter.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __FILTER_H__ 3 | #define __FILTER_H__ 4 | 5 | /* Umbrella header for the Filter library */ 6 | 7 | #include "FilterClass.h" 8 | #include "AverageFilter.h" 9 | #include "DerivativeFilter.h" 10 | #include "FilterWithBuffer.h" 11 | #include "LowPassFilter.h" 12 | #include "ModeFilter.h" 13 | #include "Butter.h" 14 | #include "MovingAvarageFilter.h" 15 | #include "RunningAverage.h" 16 | 17 | #endif //__FILTER_H__ 18 | 19 | -------------------------------------------------------------------------------- /libraries/AP_Filter/MovingAvarageFilter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | https://github.com/sebnil/Moving-Avarage-Filter--Arduino-Library- 3 | */ 4 | #include 5 | #include "Arduino.h" 6 | #include "MovingAvarageFilter.h" 7 | 8 | MovingAvarageFilter::MovingAvarageFilter(unsigned int newDataPointsCount) { 9 | k = 0; //initialize so that we start to write at index 0 10 | if (newDataPointsCount < MAX_DATA_POINTS) 11 | dataPointsCount = newDataPointsCount; 12 | else 13 | dataPointsCount = MAX_DATA_POINTS; 14 | 15 | //for (i=0; i 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER; 16 | 17 | DerivativeFilter derivative; 18 | 19 | // setup routine 20 | void setup(){} 21 | 22 | static float noise(void) 23 | { 24 | return ((random() % 100)-50) * 0.001f; 25 | } 26 | 27 | //Main loop where the action takes place 28 | void loop() 29 | { 30 | hal.scheduler->delay(50); 31 | float t = hal.scheduler->millis()*1.0e-3; 32 | float s = sinf(t); 33 | //s += noise(); 34 | uint32_t t1 = hal.scheduler->micros(); 35 | derivative.update(s, t1); 36 | float output = derivative.slope() * 1.0e6f; 37 | hal.console->printf("%f %f %f %f\n", t, output, s, cosf(t)); 38 | } 39 | 40 | AP_HAL_MAIN(); 41 | -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/Derivative/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../mk/apm.mk 2 | 3 | sitl: 4 | make -f ../../../../libraries/Desktop/Desktop.mk 5 | -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/Derivative/nocore.inoflag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/AP_Filter/examples/Derivative/nocore.inoflag -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/Filter/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../mk/apm.mk 2 | -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/Filter/nocore.inoflag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/AP_Filter/examples/Filter/nocore.inoflag -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/LowPassFilter/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../mk/apm.mk 2 | -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/LowPassFilter/nocore.inoflag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/AP_Filter/examples/LowPassFilter/nocore.inoflag -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/LowPassFilter2p/Makefile: -------------------------------------------------------------------------------- 1 | include ../../../../mk/apm.mk 2 | -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/MovingAvarageFilter/test.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | MovingAvarageFilter movingAvarageFilter(20); 4 | 5 | void setup() { 6 | Serial.begin(115200); 7 | } 8 | 9 | void loop() { 10 | 11 | // declare input and output variables 12 | float input = 1; // without a real input, looking at the step respons (input at unity, 1) 13 | float output = 0; 14 | 15 | for (int n = 0; n < 100 + 2; n++) { 16 | Serial.print("n= "); // print the sample number 17 | Serial.println(n, DEC); 18 | Serial.println("Now calling fir..."); 19 | output = movingAvarageFilter.process(input); // here we call the fir routine with the input. The value 'fir' spits out is stored in the output variable. 20 | Serial.print("fir presented the following value= "); 21 | Serial.println(output); // just for debugging or to understand what it does, print the output value 22 | } 23 | 24 | while (true) {}; // endless loop 25 | } -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/fillValue/fillValue.ino: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: fillValue.pde 3 | // AUTHOR: Rob Tillaart 4 | // DATE: 2012-12-30 5 | // 6 | // PUPROSE: show working of fillValue 7 | // 8 | 9 | #include "RunningAverage.h" 10 | 11 | RunningAverage myRA(10); 12 | int samples = 0; 13 | 14 | void setup(void) 15 | { 16 | Serial.begin(115200); 17 | Serial.print("Demo RunningAverage lib - fillValue "); 18 | Serial.print("Version: "); 19 | Serial.println(RUNNINGAVERAGE_LIB_VERSION); 20 | 21 | myRA.fillValue(100,5); 22 | } 23 | 24 | void loop(void) 25 | { 26 | long rn = random(0, 100); 27 | myRA.addValue(rn/100.0); 28 | samples++; 29 | Serial.print("Running Average: "); 30 | Serial.println(myRA.getAverage(), 4); 31 | 32 | if (samples == 300) 33 | { 34 | samples = 0; 35 | myRA.fillValue(100, 10); 36 | } 37 | delay(100); 38 | } -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/ra_hour/ra_hour.ino: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: runningAverageHour.pde 3 | // AUTHOR: Rob Tillaart 4 | // DATE: 2012-12-30 5 | // 6 | // PUPROSE: show working of runningAverage per hour 7 | // in 2 steps - last minute + last hour 8 | // 3 or more steps also possible 9 | // 10 | 11 | #include "RunningAverage.h" 12 | 13 | RunningAverage raMinute(60); 14 | RunningAverage raHour(60); 15 | 16 | int samples = 0; 17 | 18 | void setup(void) 19 | { 20 | Serial.begin(115200); 21 | Serial.println("Demo RunningAverage lib - average per minute & hour"); 22 | Serial.print("Version: "); 23 | Serial.println(RUNNINGAVERAGE_LIB_VERSION); 24 | raHour.clear(); 25 | raMinute.clear(); 26 | } 27 | 28 | void loop(void) 29 | { 30 | long rn = random(0, 100); 31 | raMinute.addValue(rn); 32 | samples++; 33 | 34 | if (samples % 60 == 0) raHour.addValue(raMinute.getAverage()); 35 | 36 | Serial.print(" raMinute: "); 37 | Serial.print(raMinute.getAverage(), 4); 38 | Serial.print(" raHour: "); 39 | Serial.println(raHour.getAverage(), 4); 40 | } -------------------------------------------------------------------------------- /libraries/AP_Filter/examples/ra_test/ra_test.ino: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: runningAverageTest.pde 3 | // AUTHOR: Rob Tillaart 4 | // DATE: 2012-12-30 5 | // 6 | // PUPROSE: show working of runningAverage 7 | // 8 | 9 | #include "RunningAverage.h" 10 | 11 | RunningAverage myRA(10); 12 | int samples = 0; 13 | 14 | void setup(void) 15 | { 16 | Serial.begin(115200); 17 | Serial.println("Demo RunningAverage lib"); 18 | Serial.print("Version: "); 19 | Serial.println(RUNNINGAVERAGE_LIB_VERSION); 20 | myRA.clear(); // explicitly start clean 21 | } 22 | 23 | void loop(void) 24 | { 25 | long rn = random(0, 1000); 26 | myRA.addValue(rn * 0.001); 27 | samples++; 28 | Serial.print("Running Average: "); 29 | Serial.println(myRA.getAverage(), 3); 30 | 31 | if (samples == 300) 32 | { 33 | samples = 0; 34 | myRA.clear(); 35 | } 36 | delay(100); 37 | } -------------------------------------------------------------------------------- /libraries/AP_Filter/keywords.txt: -------------------------------------------------------------------------------- 1 | Filter KEYWORD1 2 | FilterWithBuffer KEYWORD1 3 | ModeFilter KEYWORD1 4 | AverageFilter KEYWORD1 5 | apply KEYWORD2 6 | reset KEYWORD2 7 | get_filter_size KEYWORD2 8 | samples KEYWORD2 9 | sample_index KEYWORD2 10 | -------------------------------------------------------------------------------- /libraries/AP_Math_freeimu/keywords.txt: -------------------------------------------------------------------------------- 1 | Vector2 KEYWORD1 2 | Vector2i KEYWORD1 3 | Vector2ui KEYWORD1 4 | Vector2l KEYWORD1 5 | Vector2ul KEYWORD1 6 | Vector2f KEYWORD1 7 | Vector3 KEYWORD1 8 | Vector3i KEYWORD1 9 | Vector3ui KEYWORD1 10 | Vector3l KEYWORD1 11 | Vector3ul KEYWORD1 12 | Vector3f KEYWORD1 13 | Matrix3 KEYWORD1 14 | Matrix3i KEYWORD1 15 | Matrix3ui KEYWORD1 16 | Matrix3l KEYWORD1 17 | Matrix3ul KEYWORD1 18 | Matrix3f KEYWORD1 19 | length_squared KEYWORD2 20 | length KEYWORD2 21 | normalize KEYWORD2 22 | normalized KEYWORD2 23 | reflect KEYWORD2 24 | project KEYWORD2 25 | projected KEYWORD2 26 | angle KEYWORD2 27 | angle_normalized KEYWORD2 28 | rotate KEYWORD2 29 | rotated KEYWORD2 30 | -------------------------------------------------------------------------------- /libraries/AP_Math_freeimu/vector2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/AP_Math_freeimu/vector2.h -------------------------------------------------------------------------------- /libraries/AP_Math_freeimu/vector3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/AP_Math_freeimu/vector3.h -------------------------------------------------------------------------------- /libraries/AltSoftSerial/README.md: -------------------------------------------------------------------------------- 1 | #AltSoftSerial Library# 2 | 3 | Improved software emulated serial, using hardware timers for precise signal 4 | timing and availability of CPU time for other libraries to respond to interrupts 5 | during data AltSoftSerial data transmission and reception. 6 | 7 | http://www.pjrc.com/teensy/td_libs_AltSoftSerial.html 8 | 9 | ![AltSoftSerial on Teensy 2.0](http://www.pjrc.com/teensy/td_libs_AltSoftSerial_2.jpg) 10 | -------------------------------------------------------------------------------- /libraries/AltSoftSerial/examples/Test/Test.pde: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | // AltSoftSerial always uses these pins: 4 | // 5 | // Board Transmit Receive PWM Unusable 6 | // ----- -------- ------- ------------ 7 | // Teensy 3.0 & 3.1 21 20 22 8 | // Teensy 2.0 9 10 (none) 9 | // Teensy++ 2.0 25 4 26, 27 10 | // Arduino Uno 9 8 10 11 | // Arduino Leonardo 5 13 (none) 12 | // Arduino Mega 46 48 44, 45 13 | // Wiring-S 5 6 4 14 | // Sanguino 13 14 12 15 | 16 | AltSoftSerial altSerial; 17 | 18 | void setup() { 19 | Serial.begin(9600); 20 | while (!Serial) ; // wait for Arduino Serial Monitor to open 21 | Serial.println("AltSoftSerial Test Begin"); 22 | altSerial.begin(9600); 23 | altSerial.println("Hello World"); 24 | } 25 | 26 | void loop() { 27 | char c; 28 | 29 | if (Serial.available()) { 30 | c = Serial.read(); 31 | altSerial.print(c); 32 | } 33 | if (altSerial.available()) { 34 | c = altSerial.read(); 35 | Serial.print(c); 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /libraries/AltSoftSerial/keywords.txt: -------------------------------------------------------------------------------- 1 | AltSoftSerial KEYWORD1 2 | active KEYWORD2 3 | overflow KEYWORD2 4 | library_version KEYWORD2 5 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Array: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ARRAY_MODULE_H 2 | #define EIGEN_ARRAY_MODULE_H 3 | 4 | // include Core first to handle Eigen2 support macros 5 | #include "Core" 6 | 7 | #ifndef EIGEN2_SUPPORT 8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. 9 | #endif 10 | 11 | #endif // EIGEN_ARRAY_MODULE_H 12 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(RegexUtils) 2 | test_escape_string_as_regex() 3 | 4 | file(GLOB Eigen_directory_files "*") 5 | 6 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 7 | 8 | foreach(f ${Eigen_directory_files}) 9 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src") 10 | list(APPEND Eigen_directory_files_to_install ${f}) 11 | endif() 12 | endforeach(f ${Eigen_directory_files}) 13 | 14 | install(FILES 15 | ${Eigen_directory_files_to_install} 16 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel 17 | ) 18 | 19 | add_subdirectory(src) 20 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Cholesky: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLESKY_MODULE_H 2 | #define EIGEN_CHOLESKY_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Cholesky_Module Cholesky module 9 | * 10 | * 11 | * 12 | * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. 13 | * Those decompositions are accessible via the following MatrixBase methods: 14 | * - MatrixBase::llt(), 15 | * - MatrixBase::ldlt() 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | */ 21 | 22 | #include "src/misc/Solve.h" 23 | #include "src/Cholesky/LLT.h" 24 | #include "src/Cholesky/LDLT.h" 25 | #ifdef EIGEN_USE_LAPACKE 26 | #include "src/Cholesky/LLT_MKL.h" 27 | #endif 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif // EIGEN_CHOLESKY_MODULE_H 32 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 33 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | //#include "Sparse" 3 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Householder: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 2 | #define EIGEN_HOUSEHOLDER_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Householder_Module Householder module 9 | * This module provides Householder transformations. 10 | * 11 | * \code 12 | * #include 13 | * \endcode 14 | */ 15 | 16 | #include "src/Householder/Householder.h" 17 | #include "src/Householder/HouseholderSequence.h" 18 | #include "src/Householder/BlockHouseholder.h" 19 | 20 | #include "src/Core/util/ReenableStupidWarnings.h" 21 | 22 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 23 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 24 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Jacobi: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_JACOBI_MODULE_H 2 | #define EIGEN_JACOBI_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Jacobi_Module Jacobi module 9 | * This module provides Jacobi and Givens rotations. 10 | * 11 | * \code 12 | * #include 13 | * \endcode 14 | * 15 | * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation: 16 | * - MatrixBase::applyOnTheLeft() 17 | * - MatrixBase::applyOnTheRight(). 18 | */ 19 | 20 | #include "src/Jacobi/Jacobi.h" 21 | 22 | #include "src/Core/util/ReenableStupidWarnings.h" 23 | 24 | #endif // EIGEN_JACOBI_MODULE_H 25 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 26 | 27 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/LU: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_LU_MODULE_H 2 | #define EIGEN_LU_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup LU_Module LU module 9 | * This module includes %LU decomposition and related notions such as matrix inversion and determinant. 10 | * This module defines the following MatrixBase methods: 11 | * - MatrixBase::inverse() 12 | * - MatrixBase::determinant() 13 | * 14 | * \code 15 | * #include 16 | * \endcode 17 | */ 18 | 19 | #include "src/misc/Solve.h" 20 | #include "src/misc/Kernel.h" 21 | #include "src/misc/Image.h" 22 | #include "src/LU/FullPivLU.h" 23 | #include "src/LU/PartialPivLU.h" 24 | #ifdef EIGEN_USE_LAPACKE 25 | #include "src/LU/PartialPivLU_MKL.h" 26 | #endif 27 | #include "src/LU/Determinant.h" 28 | #include "src/LU/Inverse.h" 29 | 30 | #if defined EIGEN_VECTORIZE_SSE 31 | #include "src/LU/arch/Inverse_SSE.h" 32 | #endif 33 | 34 | #ifdef EIGEN2_SUPPORT 35 | #include "src/Eigen2Support/LU.h" 36 | #endif 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #endif // EIGEN_LU_MODULE_H 41 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 42 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/LeastSquares: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_REGRESSION_MODULE_H 2 | #define EIGEN_REGRESSION_MODULE_H 3 | 4 | #ifndef EIGEN2_SUPPORT 5 | #error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT) 6 | #endif 7 | 8 | // exclude from normal eigen3-only documentation 9 | #ifdef EIGEN2_SUPPORT 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include "Eigenvalues" 16 | #include "Geometry" 17 | 18 | /** \defgroup LeastSquares_Module LeastSquares module 19 | * This module provides linear regression and related features. 20 | * 21 | * \code 22 | * #include 23 | * \endcode 24 | */ 25 | 26 | #include "src/Eigen2Support/LeastSquares.h" 27 | 28 | #include "src/Core/util/ReenableStupidWarnings.h" 29 | 30 | #endif // EIGEN2_SUPPORT 31 | 32 | #endif // EIGEN_REGRESSION_MODULE_H 33 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/MetisSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_METISSUPPORT_MODULE_H 2 | #define EIGEN_METISSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | 13 | /** \ingroup Support_modules 14 | * \defgroup MetisSupport_Module MetisSupport module 15 | * 16 | * \code 17 | * #include 18 | * \endcode 19 | * This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis). 20 | * It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink 21 | */ 22 | 23 | 24 | #include "src/MetisSupport/MetisSupport.h" 25 | 26 | #include "src/Core/util/ReenableStupidWarnings.h" 27 | 28 | #endif // EIGEN_METISSUPPORT_MODULE_H 29 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/PardisoSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_PARDISOSUPPORT_MODULE_H 2 | #define EIGEN_PARDISOSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include 9 | 10 | #include 11 | 12 | /** \ingroup Support_modules 13 | * \defgroup PardisoSupport_Module PardisoSupport module 14 | * 15 | * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers. 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | * 21 | * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies. 22 | * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration. 23 | * 24 | */ 25 | 26 | #include "src/PardisoSupport/PardisoSupport.h" 27 | 28 | #include "src/Core/util/ReenableStupidWarnings.h" 29 | 30 | #endif // EIGEN_PARDISOSUPPORT_MODULE_H 31 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/QR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_QR_MODULE_H 2 | #define EIGEN_QR_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | 12 | /** \defgroup QR_Module QR module 13 | * 14 | * 15 | * 16 | * This module provides various QR decompositions 17 | * This module also provides some MatrixBase methods, including: 18 | * - MatrixBase::qr(), 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | #include "src/misc/Solve.h" 26 | #include "src/QR/HouseholderQR.h" 27 | #include "src/QR/FullPivHouseholderQR.h" 28 | #include "src/QR/ColPivHouseholderQR.h" 29 | #ifdef EIGEN_USE_LAPACKE 30 | #include "src/QR/HouseholderQR_MKL.h" 31 | #include "src/QR/ColPivHouseholderQR_MKL.h" 32 | #endif 33 | 34 | #ifdef EIGEN2_SUPPORT 35 | #include "src/Eigen2Support/QR.h" 36 | #endif 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #ifdef EIGEN2_SUPPORT 41 | #include "Eigenvalues" 42 | #endif 43 | 44 | #endif // EIGEN_QR_MODULE_H 45 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 46 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/QtAlignedMalloc: -------------------------------------------------------------------------------- 1 | 2 | #ifndef EIGEN_QTMALLOC_MODULE_H 3 | #define EIGEN_QTMALLOC_MODULE_H 4 | 5 | #include "Core" 6 | 7 | #if (!EIGEN_MALLOC_ALREADY_ALIGNED) 8 | 9 | #include "src/Core/util/DisableStupidWarnings.h" 10 | 11 | void *qMalloc(size_t size) 12 | { 13 | return Eigen::internal::aligned_malloc(size); 14 | } 15 | 16 | void qFree(void *ptr) 17 | { 18 | Eigen::internal::aligned_free(ptr); 19 | } 20 | 21 | void *qRealloc(void *ptr, size_t size) 22 | { 23 | void* newPtr = Eigen::internal::aligned_malloc(size); 24 | memcpy(newPtr, ptr, size); 25 | Eigen::internal::aligned_free(ptr); 26 | return newPtr; 27 | } 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif 32 | 33 | #endif // EIGEN_QTMALLOC_MODULE_H 34 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 35 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/SPQRSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPQRSUPPORT_MODULE_H 2 | #define EIGEN_SPQRSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "SuiteSparseQR.hpp" 9 | 10 | /** \ingroup Support_modules 11 | * \defgroup SPQRSupport_Module SuiteSparseQR module 12 | * 13 | * This module provides an interface to the SPQR library, which is part of the suitesparse package. 14 | * 15 | * \code 16 | * #include 17 | * \endcode 18 | * 19 | * In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...). 20 | * For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules 21 | * 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/misc/SparseSolve.h" 26 | #include "src/CholmodSupport/CholmodSupport.h" 27 | #include "src/SPQRSupport/SuiteSparseQRSupport.h" 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/SVD: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SVD_MODULE_H 2 | #define EIGEN_SVD_MODULE_H 3 | 4 | #include "QR" 5 | #include "Householder" 6 | #include "Jacobi" 7 | 8 | #include "src/Core/util/DisableStupidWarnings.h" 9 | 10 | /** \defgroup SVD_Module SVD module 11 | * 12 | * 13 | * 14 | * This module provides SVD decomposition for matrices (both real and complex). 15 | * This decomposition is accessible via the following MatrixBase method: 16 | * - MatrixBase::jacobiSvd() 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | #include "src/misc/Solve.h" 24 | #include "src/SVD/JacobiSVD.h" 25 | #if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT) 26 | #include "src/SVD/JacobiSVD_MKL.h" 27 | #endif 28 | #include "src/SVD/UpperBidiagonalization.h" 29 | 30 | #ifdef EIGEN2_SUPPORT 31 | #include "src/Eigen2Support/SVD.h" 32 | #endif 33 | 34 | #include "src/Core/util/ReenableStupidWarnings.h" 35 | 36 | #endif // EIGEN_SVD_MODULE_H 37 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 38 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/Sparse: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSE_MODULE_H 2 | #define EIGEN_SPARSE_MODULE_H 3 | 4 | /** \defgroup Sparse_Module Sparse meta-module 5 | * 6 | * Meta-module including all related modules: 7 | * - \ref SparseCore_Module 8 | * - \ref OrderingMethods_Module 9 | * - \ref SparseCholesky_Module 10 | * - \ref SparseLU_Module 11 | * - \ref SparseQR_Module 12 | * - \ref IterativeLinearSolvers_Module 13 | * 14 | * \code 15 | * #include 16 | * \endcode 17 | */ 18 | 19 | #include "SparseCore" 20 | #include "OrderingMethods" 21 | #include "SparseCholesky" 22 | #include "SparseLU" 23 | #include "SparseQR" 24 | #include "IterativeLinearSolvers" 25 | 26 | #endif // EIGEN_SPARSE_MODULE_H 27 | 28 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/SparseQR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSEQR_MODULE_H 2 | #define EIGEN_SPARSEQR_MODULE_H 3 | 4 | #include "SparseCore" 5 | #include "OrderingMethods" 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup SparseQR_Module SparseQR module 9 | * \brief Provides QR decomposition for sparse matrices 10 | * 11 | * This module provides a simplicial version of the left-looking Sparse QR decomposition. 12 | * The columns of the input matrix should be reordered to limit the fill-in during the 13 | * decomposition. Built-in methods (COLAMD, AMD) or external methods (METIS) can be used to this end. 14 | * See the \link OrderingMethods_Module OrderingMethods\endlink module for the list 15 | * of built-in and external ordering methods. 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | * 21 | * 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/misc/SparseSolve.h" 26 | 27 | #include "OrderingMethods" 28 | #include "src/SparseCore/SparseColEtree.h" 29 | #include "src/SparseQR/SparseQR.h" 30 | 31 | #include "src/Core/util/ReenableStupidWarnings.h" 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/StdDeque: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDDEQUE_MODULE_H 12 | #define EIGEN_STDDEQUE_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdDeque.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDDEQUE_MODULE_H 28 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/StdList: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Hauke Heibel 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_STDLIST_MODULE_H 11 | #define EIGEN_STDLIST_MODULE_H 12 | 13 | #include "Core" 14 | #include 15 | 16 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 17 | 18 | #define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) 19 | 20 | #else 21 | 22 | #include "src/StlSupport/StdList.h" 23 | 24 | #endif 25 | 26 | #endif // EIGEN_STDLIST_MODULE_H 27 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/StdVector: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDVECTOR_MODULE_H 12 | #define EIGEN_STDVECTOR_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdVector.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDVECTOR_MODULE_H 28 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB Eigen_src_subdirectories "*") 2 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 3 | foreach(f ${Eigen_src_subdirectories}) 4 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" ) 5 | add_subdirectory(${f}) 6 | endif() 7 | endforeach() 8 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Cholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Cholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Cholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Cholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/CholmodSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_CholmodSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_CholmodSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/CholmodSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(products) 9 | ADD_SUBDIRECTORY(util) 10 | ADD_SUBDIRECTORY(arch) 11 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/arch/AltiVec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_AltiVec_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_AltiVec_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/AltiVec COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(SSE) 2 | ADD_SUBDIRECTORY(AltiVec) 3 | ADD_SUBDIRECTORY(NEON) 4 | ADD_SUBDIRECTORY(Default) 5 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/arch/Default/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_Default_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_Default_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/Default COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/arch/NEON/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_NEON_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_NEON_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/NEON COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/arch/SSE/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_SSE_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_SSE_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/SSE COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/products/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_Product_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_Product_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/products COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_util_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_util_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/util COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/util/NonMPL2.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_MPL2_ONLY 2 | #error Including non-MPL2 code in EIGEN_MPL2_ONLY mode 3 | #endif 4 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED 2 | #undef EIGEN_WARNINGS_DISABLED 3 | 4 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 5 | #ifdef _MSC_VER 6 | #pragma warning( pop ) 7 | #elif defined __INTEL_COMPILER 8 | #pragma warning pop 9 | #elif defined __clang__ 10 | #pragma clang diagnostic pop 11 | #endif 12 | #endif 13 | 14 | #endif // EIGEN_WARNINGS_DISABLED 15 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Eigen2Support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(Geometry) -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support/Geometry 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Eigen2Support/Macros.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2011 Benoit Jacob 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN2_MACROS_H 11 | #define EIGEN2_MACROS_H 12 | 13 | #define ei_assert eigen_assert 14 | #define ei_internal_assert eigen_internal_assert 15 | 16 | #define EIGEN_ALIGN_128 EIGEN_ALIGN16 17 | 18 | #define EIGEN_ARCH_WANTS_ALIGNMENT EIGEN_ALIGN_STATICALLY 19 | 20 | #endif // EIGEN2_MACROS_H 21 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Eigenvalues/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_EIGENVALUES_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_EIGENVALUES_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigenvalues COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Geometry/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Householder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Householder_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Householder_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Householder COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/IterativeLinearSolvers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_IterativeLinearSolvers_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_IterativeLinearSolvers_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/IterativeLinearSolvers COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/Jacobi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Jacobi_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Jacobi_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Jacobi COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/LU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/LU/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/MetisSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MetisSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MetisSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/MetisSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/OrderingMethods/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_OrderingMethods_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_OrderingMethods_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/OrderingMethods COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/PaStiXSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_PastixSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_PastixSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PaStiXSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/PardisoSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_PardisoSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_PardisoSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PardisoSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/QR/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_QR_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_QR_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/QR COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SPQRSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SPQRSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SPQRSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SPQRSupport/ COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SVD/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SVD_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SVD_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SVD COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SparseCholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseCholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseCholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SparseCore/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseCore_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseCore_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCore COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SparseCore/SparseFuzzy.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSE_FUZZY_H 11 | #define EIGEN_SPARSE_FUZZY_H 12 | 13 | // template 14 | // template 15 | // bool SparseMatrixBase::isApprox( 16 | // const OtherDerived& other, 17 | // typename NumTraits::Real prec 18 | // ) const 19 | // { 20 | // const typename internal::nested::type nested(derived()); 21 | // const typename internal::nested::type otherNested(other.derived()); 22 | // return (nested - otherNested).cwise().abs2().sum() 23 | // <= prec * prec * (std::min)(nested.cwise().abs2().sum(), otherNested.cwise().abs2().sum()); 24 | // } 25 | 26 | #endif // EIGEN_SPARSE_FUZZY_H 27 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SparseLU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseLU_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseLU_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseLU COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SparseQR/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseQR_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseQR_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseQR/ COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/StlSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_StlSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_StlSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/StlSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/SuperLUSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SuperLUSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SuperLUSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SuperLUSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/UmfPackSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_UmfPackSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_UmfPackSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/UmfPackSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/misc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_misc_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_misc_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/misc COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/Eigen325/Eigen/src/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_plugins_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_plugins_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/plugins COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Array: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ARRAY_MODULE_H 2 | #define EIGEN_ARRAY_MODULE_H 3 | 4 | // include Core first to handle Eigen2 support macros 5 | #include "Core" 6 | 7 | #ifndef EIGEN2_SUPPORT 8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. 9 | #endif 10 | 11 | #endif // EIGEN_ARRAY_MODULE_H 12 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(RegexUtils) 2 | test_escape_string_as_regex() 3 | 4 | file(GLOB Eigen_directory_files "*") 5 | 6 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 7 | 8 | foreach(f ${Eigen_directory_files}) 9 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src") 10 | list(APPEND Eigen_directory_files_to_install ${f}) 11 | endif() 12 | endforeach(f ${Eigen_directory_files}) 13 | 14 | install(FILES 15 | ${Eigen_directory_files_to_install} 16 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel 17 | ) 18 | 19 | add_subdirectory(src) 20 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Cholesky: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLESKY_MODULE_H 2 | #define EIGEN_CHOLESKY_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup Cholesky_Module Cholesky module 11 | * 12 | * 13 | * 14 | * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. 15 | * Those decompositions are accessible via the following MatrixBase methods: 16 | * - MatrixBase::llt(), 17 | * - MatrixBase::ldlt() 18 | * 19 | * \code 20 | * #include 21 | * \endcode 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/Cholesky/LLT.h" 26 | #include "src/Cholesky/LDLT.h" 27 | 28 | } // namespace Eigen 29 | 30 | #include "src/Core/util/ReenableStupidWarnings.h" 31 | 32 | #endif // EIGEN_CHOLESKY_MODULE_H 33 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 34 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | //#include "Sparse" 3 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Householder: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 2 | #define EIGEN_HOUSEHOLDER_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup Householder_Module Householder module 11 | * This module provides Householder transformations. 12 | * 13 | * \code 14 | * #include 15 | * \endcode 16 | */ 17 | 18 | #include "src/Householder/Householder.h" 19 | #include "src/Householder/HouseholderSequence.h" 20 | #include "src/Householder/BlockHouseholder.h" 21 | 22 | } // namespace Eigen 23 | 24 | #include "src/Core/util/ReenableStupidWarnings.h" 25 | 26 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 27 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 28 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/Jacobi: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_JACOBI_MODULE_H 2 | #define EIGEN_JACOBI_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup Jacobi_Module Jacobi module 11 | * This module provides Jacobi and Givens rotations. 12 | * 13 | * \code 14 | * #include 15 | * \endcode 16 | * 17 | * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation: 18 | * - MatrixBase::applyOnTheLeft() 19 | * - MatrixBase::applyOnTheRight(). 20 | */ 21 | 22 | #include "src/Jacobi/Jacobi.h" 23 | 24 | } // namespace Eigen 25 | 26 | #include "src/Core/util/ReenableStupidWarnings.h" 27 | 28 | #endif // EIGEN_JACOBI_MODULE_H 29 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 30 | 31 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/LU: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_LU_MODULE_H 2 | #define EIGEN_LU_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup LU_Module LU module 11 | * This module includes %LU decomposition and related notions such as matrix inversion and determinant. 12 | * This module defines the following MatrixBase methods: 13 | * - MatrixBase::inverse() 14 | * - MatrixBase::determinant() 15 | * 16 | * \code 17 | * #include 18 | * \endcode 19 | */ 20 | 21 | #include "src/misc/Solve.h" 22 | #include "src/misc/Kernel.h" 23 | #include "src/misc/Image.h" 24 | #include "src/LU/FullPivLU.h" 25 | #include "src/LU/PartialPivLU.h" 26 | #include "src/LU/Determinant.h" 27 | #include "src/LU/Inverse.h" 28 | 29 | #if defined EIGEN_VECTORIZE_SSE 30 | #include "src/LU/arch/Inverse_SSE.h" 31 | #endif 32 | 33 | #ifdef EIGEN2_SUPPORT 34 | #include "src/Eigen2Support/LU.h" 35 | #endif 36 | 37 | } // namespace Eigen 38 | 39 | #include "src/Core/util/ReenableStupidWarnings.h" 40 | 41 | #endif // EIGEN_LU_MODULE_H 42 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 43 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/LeastSquares: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_REGRESSION_MODULE_H 2 | #define EIGEN_REGRESSION_MODULE_H 3 | 4 | #ifndef EIGEN2_SUPPORT 5 | #error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT) 6 | #endif 7 | 8 | // exclude from normal eigen3-only documentation 9 | #ifdef EIGEN2_SUPPORT 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include "Eigenvalues" 16 | #include "Geometry" 17 | 18 | namespace Eigen { 19 | 20 | /** \defgroup LeastSquares_Module LeastSquares module 21 | * This module provides linear regression and related features. 22 | * 23 | * \code 24 | * #include 25 | * \endcode 26 | */ 27 | 28 | #include "src/Eigen2Support/LeastSquares.h" 29 | 30 | } // namespace Eigen 31 | 32 | #include "src/Core/util/ReenableStupidWarnings.h" 33 | 34 | #endif // EIGEN2_SUPPORT 35 | 36 | #endif // EIGEN_REGRESSION_MODULE_H 37 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/QR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_QR_MODULE_H 2 | #define EIGEN_QR_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | 12 | namespace Eigen { 13 | 14 | /** \defgroup QR_Module QR module 15 | * 16 | * 17 | * 18 | * This module provides various QR decompositions 19 | * This module also provides some MatrixBase methods, including: 20 | * - MatrixBase::qr(), 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | */ 26 | 27 | #include "src/misc/Solve.h" 28 | #include "src/QR/HouseholderQR.h" 29 | #include "src/QR/FullPivHouseholderQR.h" 30 | #include "src/QR/ColPivHouseholderQR.h" 31 | 32 | #ifdef EIGEN2_SUPPORT 33 | #include "src/Eigen2Support/QR.h" 34 | #endif 35 | 36 | } // namespace Eigen 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #ifdef EIGEN2_SUPPORT 41 | #include "Eigenvalues" 42 | #endif 43 | 44 | #endif // EIGEN_QR_MODULE_H 45 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 46 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/QtAlignedMalloc: -------------------------------------------------------------------------------- 1 | 2 | #ifndef EIGEN_QTMALLOC_MODULE_H 3 | #define EIGEN_QTMALLOC_MODULE_H 4 | 5 | #include "Core" 6 | 7 | #if (!EIGEN_MALLOC_ALREADY_ALIGNED) 8 | 9 | #include "src/Core/util/DisableStupidWarnings.h" 10 | 11 | void *qMalloc(size_t size) 12 | { 13 | return Eigen::internal::aligned_malloc(size); 14 | } 15 | 16 | void qFree(void *ptr) 17 | { 18 | Eigen::internal::aligned_free(ptr); 19 | } 20 | 21 | void *qRealloc(void *ptr, size_t size) 22 | { 23 | void* newPtr = Eigen::internal::aligned_malloc(size); 24 | memcpy(newPtr, ptr, size); 25 | Eigen::internal::aligned_free(ptr); 26 | return newPtr; 27 | } 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif 32 | 33 | #endif // EIGEN_QTMALLOC_MODULE_H 34 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 35 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/SVD: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SVD_MODULE_H 2 | #define EIGEN_SVD_MODULE_H 3 | 4 | #include "QR" 5 | #include "Householder" 6 | #include "Jacobi" 7 | 8 | #include "src/Core/util/DisableStupidWarnings.h" 9 | 10 | namespace Eigen { 11 | 12 | /** \defgroup SVD_Module SVD module 13 | * 14 | * 15 | * 16 | * This module provides SVD decomposition for matrices (both real and complex). 17 | * This decomposition is accessible via the following MatrixBase method: 18 | * - MatrixBase::jacobiSvd() 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | #include "src/misc/Solve.h" 26 | #include "src/SVD/JacobiSVD.h" 27 | #include "src/SVD/UpperBidiagonalization.h" 28 | 29 | #ifdef EIGEN2_SUPPORT 30 | #include "src/Eigen2Support/SVD.h" 31 | #endif 32 | 33 | } // namespace Eigen 34 | 35 | #include "src/Core/util/ReenableStupidWarnings.h" 36 | 37 | #endif // EIGEN_SVD_MODULE_H 38 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 39 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB Eigen_src_subdirectories "*") 2 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 3 | foreach(f ${Eigen_src_subdirectories}) 4 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" ) 5 | add_subdirectory(${f}) 6 | endif() 7 | endforeach() 8 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Cholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Cholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Cholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Cholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(products) 9 | ADD_SUBDIRECTORY(util) 10 | ADD_SUBDIRECTORY(arch) 11 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/arch/AltiVec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_AltiVec_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_AltiVec_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/AltiVec COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(SSE) 2 | ADD_SUBDIRECTORY(AltiVec) 3 | ADD_SUBDIRECTORY(NEON) 4 | ADD_SUBDIRECTORY(Default) 5 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/arch/Default/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_Default_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_Default_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/Default COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/arch/NEON/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_NEON_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_NEON_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/NEON COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/arch/SSE/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_SSE_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_SSE_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/SSE COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/products/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_Product_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_Product_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/products COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_util_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_util_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/util COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED 2 | #undef EIGEN_WARNINGS_DISABLED 3 | 4 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 5 | #ifdef _MSC_VER 6 | #pragma warning( pop ) 7 | #elif defined __INTEL_COMPILER 8 | #pragma warning pop 9 | #elif defined __clang__ 10 | #pragma clang diagnostic pop 11 | #endif 12 | #endif 13 | 14 | #endif // EIGEN_WARNINGS_DISABLED 15 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Eigen2Support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(Geometry) -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support/Geometry 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Eigenvalues/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_EIGENVALUES_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_EIGENVALUES_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigenvalues COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Geometry/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Householder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Householder_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Householder_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Householder COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Jacobi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Jacobi_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Jacobi_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Jacobi COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/LU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/LU/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/QR/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_QR_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_QR_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/QR COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/SVD/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SVD_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SVD_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SVD COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Sparse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Sparse_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Sparse_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Sparse COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/Sparse/SparseAssign.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/EigenArduino-Eigen30/Eigen/src/Sparse/SparseAssign.h -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/StlSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_StlSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_StlSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/StlSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/misc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_misc_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_misc_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/misc COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen/src/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_plugins_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_plugins_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/plugins COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/Eigen30.h: -------------------------------------------------------------------------------- 1 | #include "EigenAVR.h" 2 | -------------------------------------------------------------------------------- /libraries/EigenArduino-Eigen30/generate_restore_macros.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | VARS="A0 A1 B0 B1" 3 | 4 | for defname in $VARS; do 5 | cat < 12 | #include 13 | #include 14 | 15 | #include "ExtendedKalman.h" 16 | 17 | #include "struct_calibratedData.h" 18 | #include "struct_euler.h" 19 | #include "Quaternion.h" 20 | 21 | const double g = 9.81816; 22 | 23 | class AHRSKalmanClass 24 | { 25 | public: 26 | AHRSKalmanClass(); 27 | AHRSKalmanClass(const AHRSKalmanClass& orig); 28 | virtual ~AHRSKalmanClass(); 29 | void update(); 30 | 31 | s_calibratedData calibratedData; 32 | s_euler orientation; 33 | QuaternionClass quaternion; 34 | private: 35 | void calibrateData_(); 36 | void fuse_(); 37 | void quaternionToYPR_(QuaternionClass* q, s_euler* orientation); 38 | double magnitude_(double x, double y, double z); 39 | // KalmanClass kalmanPhi_, kalmanPsi_; 40 | ExtendedKalmanClass EKF; 41 | }; 42 | 43 | extern AHRSKalmanClass AHRS; 44 | 45 | #endif /* AHRS_H */ 46 | 47 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/Quaternion.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Quaternion.cpp 3 | * Author: matt 4 | * 5 | * Created on 04 April 2013, 15:12 6 | */ 7 | 8 | #include "Quaternion.h" 9 | 10 | QuaternionClass::QuaternionClass() { 11 | } 12 | 13 | QuaternionClass::QuaternionClass(const QuaternionClass& orig) { 14 | } 15 | 16 | QuaternionClass::~QuaternionClass() { 17 | } 18 | 19 | void QuaternionClass::normalise(){ 20 | double norm = sqrt(w*w + x*x + y*y + z*z); 21 | w /= norm; 22 | x /= norm; 23 | y /= norm; 24 | z /= norm; 25 | } 26 | 27 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/Quaternion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Quaternion.h 3 | * Author: matt 4 | * 5 | * Created on 04 April 2013, 15:12 6 | */ 7 | 8 | #ifndef QUATERNION_H 9 | #define QUATERNION_H 10 | 11 | #include "math.h" 12 | 13 | class QuaternionClass 14 | { 15 | public: 16 | QuaternionClass(); 17 | QuaternionClass(const QuaternionClass& orig); 18 | virtual ~QuaternionClass(); 19 | 20 | void normalise(); 21 | 22 | double w, x, y, z; 23 | private: 24 | 25 | }; 26 | 27 | #endif /* QUATERNION_H */ 28 | 29 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/Quaternions_3D.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/ExtendedKalman/ref/Quaternions_3D.pdf -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/The-Design-and-Implementation-of-a-Robust-AHRS-for-Implementation-on-a-Quadrotor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/ExtendedKalman/ref/The-Design-and-Implementation-of-a-Robust-AHRS-for-Implementation-on-a-Quadrotor.pdf -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/Timer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Timer.h 3 | * Author: matt 4 | * 5 | * Created on 05 November 2012, 10:19 6 | */ 7 | 8 | #ifndef TIMER_H 9 | #define TIMER_H 10 | 11 | #include 12 | #include 13 | 14 | #include "MPU6050.h" 15 | #include "AHRS.h" 16 | #include "Logger.h" 17 | #include "PICInterface.h" 18 | #include "Control.h" 19 | 20 | class TimerClass 21 | { 22 | public: 23 | TimerClass(); 24 | TimerClass(const TimerClass& orig); 25 | virtual ~TimerClass(); 26 | 27 | void start(); 28 | void stop(); 29 | 30 | float dt; 31 | timer_t timerId; //id for the posix timer 32 | struct sigaction signalAction; //signal action handler struct 33 | bool started; 34 | private: 35 | static void sig_handler_(int signum); 36 | struct itimerspec timeToSet_; //time to be set 37 | struct timespec timeValue_; //timer expiration value 38 | struct timespec timeInterval_; //timer period 39 | timespec oldtime_; 40 | timespec time_; 41 | timespec iterationtime_; 42 | 43 | void calcdt_(); 44 | void compensate_(); 45 | 46 | }; 47 | 48 | extern TimerClass Timer; 49 | #endif /* TIMER_H */ 50 | 51 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/sensors-12-09566-v2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/ExtendedKalman/ref/sensors-12-09566-v2.pdf -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/struct_calibratedData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: struct_calibratedData.h 3 | * Author: matt 4 | * 5 | * Created on 26 November 2012, 10:08 6 | */ 7 | 8 | #ifndef STRUCT_CALIBRATEDDATA_H 9 | #define STRUCT_CALIBRATEDDATA_H 10 | 11 | struct s_calibratedData 12 | { 13 | double x; 14 | double y; 15 | double z; 16 | double temp; 17 | double p; 18 | double q; 19 | double r; 20 | double magx; 21 | double magy; 22 | double magz; 23 | double pressure; 24 | double altitude; 25 | }; 26 | 27 | 28 | #endif /* STRUCT_CALIBRATEDDATA_H */ 29 | 30 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/ref/struct_euler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: struct_euler.h 3 | * Author: matt 4 | * 5 | * Created on 26 November 2012, 10:09 6 | */ 7 | 8 | #ifndef STRUCT_EULER_H 9 | #define STRUCT_EULER_H 10 | 11 | struct s_euler 12 | { 13 | double pitch; 14 | double roll; 15 | double yaw; 16 | }; 17 | 18 | #endif /* STRUCT_EULER_H */ 19 | 20 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/struct_calibratedData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: struct_calibratedData.h 3 | * Author: matt 4 | * 5 | * Created on 26 November 2012, 10:08 6 | */ 7 | 8 | #ifndef STRUCT_CALIBRATEDDATA_H 9 | #define STRUCT_CALIBRATEDDATA_H 10 | 11 | struct s_calibratedData 12 | { 13 | double x; 14 | double y; 15 | double z; 16 | double temp; 17 | double p; 18 | double q; 19 | double r; 20 | double magx; 21 | double magy; 22 | double magz; 23 | double pressure; 24 | double altitude; 25 | }; 26 | 27 | 28 | #endif /* STRUCT_CALIBRATEDDATA_H */ 29 | 30 | -------------------------------------------------------------------------------- /libraries/ExtendedKalman/struct_euler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: struct_euler.h 3 | * Author: matt 4 | * 5 | * Created on 26 November 2012, 10:09 6 | */ 7 | 8 | #ifndef STRUCT_EULER_H 9 | #define STRUCT_EULER_H 10 | 11 | struct s_euler 12 | { 13 | double pitch; 14 | double roll; 15 | double yaw; 16 | }; 17 | 18 | #endif /* STRUCT_EULER_H */ 19 | 20 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_PRO_Rf_FreeIMU_raw/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -1896; 11 | const int acc_off_y = 30163; 12 | const int acc_off_z = 1566; 13 | const float acc_scale_x = 14868.468161; 14 | const float acc_scale_y = 18369.621120; 15 | const float acc_scale_z = 11050.494717; 16 | 17 | const int magn_off_x = 551; 18 | const int magn_off_y = 515; 19 | const int magn_off_z = 144; 20 | const float magn_scale_x = 188.840002; 21 | const float magn_scale_y = 397.072969; 22 | const float magn_scale_z = 485.524361; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_PRO_Rf_MESH_IMU_Node/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 887; 11 | const int acc_off_y = 486; 12 | const int acc_off_z = 2184; 13 | const float acc_scale_x = 16075.288895; 14 | const float acc_scale_y = 16695.714640; 15 | const float acc_scale_z = 16643.954947; 16 | 17 | const int magn_off_x = -183; 18 | const int magn_off_y = -123; 19 | const int magn_off_z = 370; 20 | const float magn_scale_x = 232.614631; 21 | const float magn_scale_y = 290.821213; 22 | const float magn_scale_z = 402.295235; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf.cpp: -------------------------------------------------------------------------------- 1 | #include "FemtoBeacon_Rf.h" 2 | /* Dummy C++ file */ -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /* Dummy C Header */ -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf_Coin_Mouse/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 878; 11 | const int acc_off_y = 261; 12 | const int acc_off_z = 505; 13 | const float acc_scale_x = 15687.435723; 14 | const float acc_scale_y = 16984.641645; 15 | const float acc_scale_z = 16915.769739; 16 | 17 | const int magn_off_x = -103; 18 | const int magn_off_y = 74; 19 | const int magn_off_z = 240; 20 | const float magn_scale_x = 258.898633; 21 | const float magn_scale_y = 260.198092; 22 | const float magn_scale_z = 278.550384; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf_FreeIMU_YPR/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 887; 11 | const int acc_off_y = 486; 12 | const int acc_off_z = 2184; 13 | const float acc_scale_x = 16075.288895; 14 | const float acc_scale_y = 16695.714640; 15 | const float acc_scale_z = 16643.954947; 16 | 17 | const int magn_off_x = -183; 18 | const int magn_off_y = -123; 19 | const int magn_off_z = 370; 20 | const float magn_scale_x = 232.614631; 21 | const float magn_scale_y = 290.821213; 22 | const float magn_scale_z = 402.295235; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf_FreeIMU_raw/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -1896; 11 | const int acc_off_y = 30163; 12 | const int acc_off_z = 1566; 13 | const float acc_scale_x = 14868.468161; 14 | const float acc_scale_y = 18369.621120; 15 | const float acc_scale_z = 11050.494717; 16 | 17 | const int magn_off_x = 551; 18 | const int magn_off_y = 515; 19 | const int magn_off_z = 144; 20 | const float magn_scale_x = 188.840002; 21 | const float magn_scale_y = 397.072969; 22 | const float magn_scale_z = 485.524361; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf_MESH_IMU_Coin/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 887; 11 | const int acc_off_y = 486; 12 | const int acc_off_z = 2184; 13 | const float acc_scale_x = 16075.288895; 14 | const float acc_scale_y = 16695.714640; 15 | const float acc_scale_z = 16643.954947; 16 | 17 | const int magn_off_x = -183; 18 | const int magn_off_y = -123; 19 | const int magn_off_z = 370; 20 | const float magn_scale_x = 232.614631; 21 | const float magn_scale_y = 290.821213; 22 | const float magn_scale_z = 402.295235; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/FemtoBeacon_Rf_MESH_RGB_IMU_Coin/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 887; 11 | const int acc_off_y = 486; 12 | const int acc_off_z = 2184; 13 | const float acc_scale_x = 16075.288895; 14 | const float acc_scale_y = 16695.714640; 15 | const float acc_scale_z = 16643.954947; 16 | 17 | const int magn_off_x = -183; 18 | const int magn_off_y = -123; 19 | const int magn_off_z = 370; 20 | const float magn_scale_x = 232.614631; 21 | const float magn_scale_y = 290.821213; 22 | const float magn_scale_z = 402.295235; 23 | -------------------------------------------------------------------------------- /libraries/FemtoBeacon_Rf/library.properties: -------------------------------------------------------------------------------- 1 | name=FemtoBeacon_Rf 2 | version=1.0.2 3 | author=Femto.io 4 | maintainer=Femto.io 5 | sentence=FemtoBeacon (ATSAMR21E18A) examples 6 | paragraph=Example usage of 9-DoF IMU (MPU-9250 + MS-5611), and built-in RF (AT86RF244). 7 | category=Other 8 | url= 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/FemtoCore/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map HID 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | #HID KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | #begin KEYWORD2 15 | #SendReport KEYWORD2 16 | #AppendDescriptor KEYWORD2 17 | 18 | ####################################### 19 | # Constants (LITERAL1) 20 | ####################################### 21 | #HID_TX LITERAL1 -------------------------------------------------------------------------------- /libraries/FemtoCore/library.properties: -------------------------------------------------------------------------------- 1 | name=FemtoCore 2 | version=1.0.1 3 | author=Femtoduino 4 | maintainer=Femtoduino 5 | sentence=Module for FemtoBeacon coins and dongles 6 | paragraph= 7 | category=Other 8 | url=https://femtoduino.com 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/FemtoUSB/FemtoUSB.cpp: -------------------------------------------------------------------------------- 1 | #include "FemtoUSB.h" 2 | /* Dummy C++ file */ -------------------------------------------------------------------------------- /libraries/FemtoUSB/FemtoUSB.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /* Dummy C Header */ -------------------------------------------------------------------------------- /libraries/FemtoUSB/examples/SerialUSB_Hello/SerialUSB_Hello.ino: -------------------------------------------------------------------------------- 1 | /* 2 | SerialUSB Hello 3 | 4 | Upload to your ATSAMD21E18A (ARM) board via the native USB port. 5 | Once upload is done, open up the Serial Window. 6 | The word "Hello" should be output every second. 7 | 8 | Your FemtoUSB (ATSAMD21E18A based) requires the Arduino Zero bootloader. 9 | 10 | This example code is in the public domain. 11 | 12 | modified 11 February 2016 13 | by Alejandro Albino 14 | 15 | See https://github.com/femtoio/femto-usb 16 | */ 17 | 18 | 19 | // the setup function runs once when you press reset or power the board 20 | void setup() { 21 | // initialize digital pin 13 as an output. 22 | while(!Serial); 23 | SerialUSB.begin(9600); 24 | 25 | } 26 | 27 | // the loop function runs over and over again forever 28 | void loop() { 29 | SerialUSB.println("Hello!"); 30 | delay(1000); 31 | } 32 | -------------------------------------------------------------------------------- /libraries/FemtoUSB/library.properties: -------------------------------------------------------------------------------- 1 | name=FemtoUSB 2 | version=1.0.1 3 | author=Femto.io 4 | maintainer=Femto.io 5 | sentence=FemtoUSB (ATSAMD21E18A) examples 6 | paragraph=Example usage of the RGB LED, and USB port. 7 | category=Other 8 | url= 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/FreeIMU/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -572; 11 | const int acc_off_y = 757; 12 | const int acc_off_z = -43; 13 | const float acc_scale_x = 16204.142149; 14 | const float acc_scale_y = 16363.021889; 15 | const float acc_scale_z = 16416.513234; 16 | 17 | const int magn_off_x = 869; 18 | const int magn_off_y = 1717; 19 | const int magn_off_z = -1280; 20 | const float magn_scale_x = 2878.247162; 21 | const float magn_scale_y = 3025.027762; 22 | const float magn_scale_z = 2750.123858; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-10-5-14-dfrobot.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -15; 11 | const int acc_off_y = -9; 12 | const int acc_off_z = -12; 13 | const float acc_scale_x = 251.168382; 14 | const float acc_scale_y = 264.747381; 15 | const float acc_scale_z = 250.920777; 16 | 17 | const int magn_off_x = -2; 18 | const int magn_off_y = -96; 19 | const int magn_off_z = -5; 20 | const float magn_scale_x = 517.837841; 21 | const float magn_scale_y = 497.261436; 22 | const float magn_scale_z = 490.183062; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-10724.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 13; 11 | const int acc_off_y = 5; 12 | const int acc_off_z = -16; 13 | const float acc_scale_x = 249.766474; 14 | const float acc_scale_y = 284.155248; 15 | const float acc_scale_z = 259.154216; 16 | 17 | const int magn_off_x = 72; 18 | const int magn_off_y = -109; 19 | const int magn_off_z = 85; 20 | const float magn_scale_x = 625.652682; 21 | const float magn_scale_y = 551.447518; 22 | const float magn_scale_z = 501.959832; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-1111.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 118; 11 | const int acc_off_y = -20; 12 | const int acc_off_z = 655; 13 | const float acc_scale_x = 16444.451002; 14 | const float acc_scale_y = 16427.443205; 15 | const float acc_scale_z = 16520.341389; 16 | 17 | const int magn_off_x = 25; 18 | const int magn_off_y = -114; 19 | const int magn_off_z = -2; 20 | const float magn_scale_x = 524.472425; 21 | const float magn_scale_y = 493.912846; 22 | const float magn_scale_z = 447.515283; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-6050.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 100; 11 | const int acc_off_y = 38; 12 | const int acc_off_z = 1694; 13 | const float acc_scale_x = 16371.667083; 14 | const float acc_scale_y = 16495.350321; 15 | const float acc_scale_z = 16581.985398; 16 | 17 | const int magn_off_x = 37; 18 | const int magn_off_y = -122; 19 | const int magn_off_z = -1; 20 | const float magn_scale_x = 525.373957; 21 | const float magn_scale_y = 492.116968; 22 | const float magn_scale_z = 456.674712; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-Altimu.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 112; 11 | const int acc_off_y = 370; 12 | const int acc_off_z = 1562; 13 | const float acc_scale_x = 15859.162622; 14 | const float acc_scale_y = 16076.831242; 15 | const float acc_scale_z = 16679.336963; 16 | 17 | const int magn_off_x = 210; 18 | const int magn_off_y = 259; 19 | const int magn_off_z = 657; 20 | const float magn_scale_x = 2885.187579; 21 | const float magn_scale_y = 2982.692806; 22 | const float magn_scale_z = 2810.079487; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-Dfrobot10.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -14; 11 | const int acc_off_y = -7; 12 | const int acc_off_z = -18; 13 | const float acc_scale_x = 235.422159; 14 | const float acc_scale_y = 260.299295; 15 | const float acc_scale_z = 252.196241; 16 | 17 | const int magn_off_x = -25; 18 | const int magn_off_y = -39; 19 | const int magn_off_z = 3; 20 | const float magn_scale_x = 515.549930; 21 | const float magn_scale_y = 489.638243; 22 | const float magn_scale_z = 485.275307; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-Freeimu-11-3-14.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 100; 11 | const int acc_off_y = 38; 12 | const int acc_off_z = 1694; 13 | const float acc_scale_x = 16371.667083; 14 | const float acc_scale_y = 16495.350321; 15 | const float acc_scale_z = 16581.985398; 16 | 17 | const int magn_off_x = 37; 18 | const int magn_off_y = -122; 19 | const int magn_off_z = -1; 20 | const float magn_scale_x = 525.373957; 21 | const float magn_scale_y = 492.116968; 22 | const float magn_scale_z = 456.674712; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-freeimu2.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 118; 11 | const int acc_off_y = -20; 12 | const int acc_off_z = 655; 13 | const float acc_scale_x = 16444.451002; 14 | const float acc_scale_y = 16427.443205; 15 | const float acc_scale_z = 16520.341389; 16 | 17 | const int magn_off_x = 25; 18 | const int magn_off_y = -114; 19 | const int magn_off_z = -2; 20 | const float magn_scale_x = 524.472425; 21 | const float magn_scale_y = 493.912846; 22 | const float magn_scale_z = 447.515283; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-lsm9ds0.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -1286; 11 | const int acc_off_y = 136; 12 | const int acc_off_z = -540; 13 | const float acc_scale_x = 16812.203304; 14 | const float acc_scale_y = 16256.302325; 15 | const float acc_scale_z = 16726.019955; 16 | 17 | const int magn_off_x = -98; 18 | const int magn_off_y = 435; 19 | const int magn_off_z = -1457; 20 | const float magn_scale_x = 6175.704237; 21 | const float magn_scale_y = 5960.673982; 22 | const float magn_scale_z = 5819.393546; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration-microduino.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 385; 11 | const int acc_off_y = 176; 12 | const int acc_off_z = 12; 13 | const float acc_scale_x = 16286.628816; 14 | const float acc_scale_y = 16454.226280; 15 | const float acc_scale_z = 16529.735185; 16 | 17 | const int magn_off_x = 31; 18 | const int magn_off_y = -93; 19 | const int magn_off_z = 36; 20 | const float magn_scale_x = 475.995679; 21 | const float magn_scale_y = 495.853226; 22 | const float magn_scale_z = 507.326325; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 348; 11 | const int acc_off_y = -185; 12 | const int acc_off_z = -700; 13 | const float acc_scale_x = 16339.684276; 14 | const float acc_scale_y = 16440.691292; 15 | const float acc_scale_z = 16734.635623; 16 | 17 | const int magn_off_x = 110; 18 | const int magn_off_y = -20; 19 | const int magn_off_z = 98; 20 | const float magn_scale_x = 562.527189; 21 | const float magn_scale_y = 512.592944; 22 | const float magn_scale_z = 430.571178; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration6050.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = -13; 11 | const int acc_off_y = 54; 12 | const int acc_off_z = 1670; 13 | const float acc_scale_x = 16473.201581; 14 | const float acc_scale_y = 16476.242591; 15 | const float acc_scale_z = 16539.453298; 16 | 17 | const int magn_off_x = 18; 18 | const int magn_off_y = -120; 19 | const int magn_off_z = -14; 20 | const float magn_scale_x = 526.703759; 21 | const float magn_scale_y = 495.151070; 22 | const float magn_scale_z = 450.137734; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibration9250.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 54; 11 | const int acc_off_y = -112; 12 | const int acc_off_z = -83; 13 | const float acc_scale_x = 16325.833529; 14 | const float acc_scale_y = 16372.621904; 15 | const float acc_scale_z = 16360.376226; 16 | 17 | const int magn_off_x = -32; 18 | const int magn_off_y = -1; 19 | const int magn_off_z = 10; 20 | const float magn_scale_x = 90.689360; 21 | const float magn_scale_y = 137.557678; 22 | const float magn_scale_z = 129.254897; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibrationAPM-11-15-14.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 403; 11 | const int acc_off_y = -74; 12 | const int acc_off_z = -561; 13 | const float acc_scale_x = 16322.333922; 14 | const float acc_scale_y = 16376.575731; 15 | const float acc_scale_z = 16591.109587; 16 | 17 | const int magn_off_x = 111; 18 | const int magn_off_y = 250; 19 | const int magn_off_z = -49; 20 | const float magn_scale_x = 486.815131; 21 | const float magn_scale_y = 512.342835; 22 | const float magn_scale_z = 437.208628; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibrationAltimu - teensy.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 103; 11 | const int acc_off_y = 374; 12 | const int acc_off_z = 1597; 13 | const float acc_scale_x = 15901.875411; 14 | const float acc_scale_y = 16072.316296; 15 | const float acc_scale_z = 16692.581185; 16 | 17 | const int magn_off_x = 577; 18 | const int magn_off_y = 529; 19 | const int magn_off_z = 1558; 20 | const float magn_scale_x = 5915.427902; 21 | const float magn_scale_y = 6032.747415; 22 | const float magn_scale_z = 5611.267290; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMU60XX/calibrationAltimuSep14.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * FreeIMU calibration header. Automatically generated by FreeIMU_GUI. 4 | * Do not edit manually unless you know what you are doing. 5 | */ 6 | 7 | 8 | #define CALIBRATION_H 9 | 10 | const int acc_off_x = 112; 11 | const int acc_off_y = 370; 12 | const int acc_off_z = 1562; 13 | const float acc_scale_x = 15859.162622; 14 | const float acc_scale_y = 16076.831242; 15 | const float acc_scale_z = 16679.336963; 16 | 17 | const int magn_off_x = 210; 18 | const int magn_off_y = 259; 19 | const int magn_off_z = 657; 20 | const float magn_scale_x = 2885.187579; 21 | const float magn_scale_y = 2982.692806; 22 | const float magn_scale_z = 2810.079487; 23 | -------------------------------------------------------------------------------- /libraries/FreeIMUUtils/CommunicationUtils.h: -------------------------------------------------------------------------------- 1 | #ifndef CommunitationUtils_h 2 | #define CommunitationUtils_h 3 | 4 | #include "Arduino.h" 5 | 6 | #if defined(__SAMD21G18A__) || defined(__SAMR21G18A__) || defined(_VARIANT_ATSAMR21E18A_) 7 | // Output over native USB port instead (Arduino Zero, SAM D21/R21 chips) 8 | #define Serial SERIAL_PORT_USBVIRTUAL 9 | #endif 10 | 11 | void serialPrintFloatArr(float * arr, int length); 12 | void serialFloatPrint(float f); 13 | void writeArr(void * arr, uint8_t arr_length, uint8_t type_bytes); 14 | void writeVar(void * val, uint8_t type_bytes); 15 | 16 | void toPrintableFloatArr(float * arr, int length, char* result); 17 | void toPrintableFloat(float f, char* result); 18 | int toPrintableArr(void* varr, uint8_t arr_length, uint8_t type_bytes, char* result); 19 | void toPrintableVar(void* val, uint8_t type_bytes, char* result); 20 | #endif // CommunitationUtils_h 21 | -------------------------------------------------------------------------------- /libraries/HID/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map HID 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | HID KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | begin KEYWORD2 15 | SendReport KEYWORD2 16 | AppendDescriptor KEYWORD2 17 | 18 | ####################################### 19 | # Constants (LITERAL1) 20 | ####################################### 21 | HID_TX LITERAL1 -------------------------------------------------------------------------------- /libraries/HID/library.properties: -------------------------------------------------------------------------------- 1 | name=HID 2 | version=1.0 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Module for PluggableUSB infrastructure. Exposes an API for devices like Keyboards, Mice and Gamepads 6 | paragraph= 7 | category=Other 8 | url=http://www.arduino.cc/en/Reference/HID 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/I2S/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map I2S 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | I2S KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | begin KEYWORD2 15 | end KEYWORD2 16 | 17 | onReceive KEYWORD2 18 | onTransmit KEYWORD2 19 | 20 | ####################################### 21 | # Constants (LITERAL1) 22 | ####################################### 23 | I2S_PHILIPS_MODE LITERAL1 24 | I2S_RIGHT_JUSTIFIED_MODE LITERAL1 25 | I2S_LEFT_JUSTIFIED_MODE LITERAL1 26 | -------------------------------------------------------------------------------- /libraries/I2S/library.properties: -------------------------------------------------------------------------------- 1 | name=I2S 2 | version=1.0 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Enables the communication with devices that use the Inter-IC Sound (I2S) Bus. Specific implementation for Arduino Zero. 6 | paragraph= 7 | category=Communication 8 | url=http://www.arduino.cc/en/Reference/I2S 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/INSTALL.txt: -------------------------------------------------------------------------------- 1 | Copy all the directories contained in the directory which contains this file into the folder "libraries" inside the Arduino sketchbook folder. 2 | You can understand the location of your sketchbook folder from the Arduino IDE clicking on File -> Preferences: the "sketchbook location" is what you are looking for. 3 | In case you don't have a "libraries" folder there just create an empty one. 4 | 5 | For more informations see: 6 | http://www.arduino.cc/en/Reference/Libraries 7 | -------------------------------------------------------------------------------- /libraries/Kalman/FilteringScheme.cpp: -------------------------------------------------------------------------------- 1 | #include "FilteringScheme.h" 2 | 3 | 4 | KalmanFilter::KalmanFilter() {} 5 | KalmanFilter::KalmanFilter(float _q, float _r, float _p, float _intial_value) { 6 | q = _q; 7 | r = _r; 8 | p = _p; 9 | intial_value = _intial_value; 10 | } 11 | 12 | void KalmanFilter::KalmanInit(float _q, float _r, float _p, float _intial_value) { 13 | q = _q; 14 | r = _r; 15 | p = _p; 16 | intial_value = _intial_value; 17 | } 18 | 19 | float KalmanFilter::measureRSSI(float raw_rssi) { 20 | p = p+q; 21 | k = p/(p+r)*1.0; 22 | x = x+k*(raw_rssi - x); 23 | p = (1 - k)*p*1.0; 24 | return x; 25 | } 26 | 27 | void KalmanFilter::set_q(float _q) { 28 | q = _q; 29 | } 30 | 31 | void KalmanFilter::set_r(float _r) { 32 | r = _r; 33 | } 34 | -------------------------------------------------------------------------------- /libraries/Kalman/FilteringScheme.h: -------------------------------------------------------------------------------- 1 | #ifndef FilteringScheme_h 2 | #define FilteringScheme_h 3 | 4 | //inspired by interactive-matter 5 | 6 | class KalmanFilter { 7 | public: 8 | KalmanFilter(); 9 | KalmanFilter(float q, float r, float p, float intial_value); 10 | void KalmanInit(float q, float r, float p, float intial_value); 11 | void set_q(float _q); 12 | void set_r(float _r); 13 | float q; //process noise covariance 14 | float r; //measurement noise covariance 15 | float x; //value 16 | float p; //estimation error covariance 17 | float k; //kalman gain 18 | float intial_value; 19 | float measureRSSI(float raw_rssi); 20 | 21 | }; 22 | 23 | #endif //FilteringScheme_h 24 | -------------------------------------------------------------------------------- /libraries/MPU60X0/MPU60X0.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/MPU60X0/MPU60X0.cpp -------------------------------------------------------------------------------- /libraries/MS561101BA/INSTALL.txt: -------------------------------------------------------------------------------- 1 | Copy the whole directory which contain this file into the folder "libraries" inside the Arduino sketchbook folder. 2 | You can understand the location of your sketchbook folder from the Arduino IDE clicking on File -> Preferences: the "sketchbook location" is what you are looking for. 3 | In case you don't have an "libraries" folder there just create an empty one. 4 | 5 | For more informations see: 6 | http://www.arduino.cc/en/Reference/Libraries 7 | -------------------------------------------------------------------------------- /libraries/SAMD_AnalogCorrection/library.properties: -------------------------------------------------------------------------------- 1 | name=SAMD_AnalogCorrection 2 | version=1.0 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Sets and enables the digital correction logic of the SAMD ADC. 6 | paragraph=Useful to correct the values returned by the ADC. 7 | category=Other 8 | url= 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/SAMD_AnalogCorrection/src/SAMD_AnalogCorrection.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #include "SAMD_AnalogCorrection.h" 20 | 21 | void analogReadCorrection (int offset, uint16_t gain) 22 | { 23 | // Set correction values 24 | ADC->OFFSETCORR.reg = ADC_OFFSETCORR_OFFSETCORR(offset); 25 | ADC->GAINCORR.reg = ADC_GAINCORR_GAINCORR(gain); 26 | 27 | // Enable digital correction logic 28 | ADC->CTRLB.bit.CORREN = 1; 29 | while(ADC->STATUS.bit.SYNCBUSY); 30 | } 31 | 32 | -------------------------------------------------------------------------------- /libraries/SAMD_AnalogCorrection/src/SAMD_AnalogCorrection.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | 23 | void analogReadCorrection (int offset, uint16_t gain); 24 | 25 | -------------------------------------------------------------------------------- /libraries/SPI/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map SPI 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | SPI KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | begin KEYWORD2 15 | end KEYWORD2 16 | transfer KEYWORD2 17 | #setBitOrder KEYWORD2 18 | setDataMode KEYWORD2 19 | setClockDivider KEYWORD2 20 | 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | SPI_MODE0 LITERAL1 26 | SPI_MODE1 LITERAL1 27 | SPI_MODE2 LITERAL1 28 | SPI_MODE3 LITERAL1 29 | 30 | SPI_CONTINUE LITERAL1 31 | SPI_LAST LITERAL1 32 | -------------------------------------------------------------------------------- /libraries/SPI/library.properties: -------------------------------------------------------------------------------- 1 | name=SPI 2 | version=1.0 3 | author=Jonathan BAUDIN, Thibaut VIARD, Arduino 4 | maintainer=Arduino 5 | sentence=Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. Specific implementation for Arduino Zero. 6 | paragraph= 7 | category=Communication 8 | url=http://www.arduino.cc/en/Reference/SPI 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/.gitignore: -------------------------------------------------------------------------------- 1 | 16000000/ 2 | .*.swp 3 | *.orig 4 | *.bak 5 | version.h 6 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/Jamfile: -------------------------------------------------------------------------------- 1 | UCLIBCPP_DIR = $(HOME)/Source/uClibc++ ; 2 | 3 | rule FixCopy 4 | { 5 | Depends $(<) : $(>) ; 6 | Clean clean : $(<) ; 7 | Depends all : $(<) ; 8 | } 9 | 10 | actions FixCopy 11 | { 12 | sed -e "s///g" $(>) > $(<) 13 | } 14 | 15 | for file in [ GLOB $(UCLIBCPP_DIR)/include : [^.]* ] 16 | { 17 | local _o = $(file:D=$(PWD)) ; 18 | if ( $(file:B) = "utility" ) 19 | { 20 | _o = $(_o:S=.h) ; 21 | } 22 | FixCopy $(_o) : $(file) ; 23 | } 24 | 25 | for file in [ GLOB $(UCLIBCPP_DIR)/src : *.cpp ] 26 | { 27 | local _o = $(file:D=$(PWD)) ; 28 | FixCopy $(_o) : $(file) ; 29 | } 30 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/Makefile: -------------------------------------------------------------------------------- 1 | TOPDIR=../ 2 | include $(TOPDIR)Rules.mak 3 | 4 | all: 5 | 6 | clean: 7 | 8 | distclean: 9 | 10 | HEADERS = $(filter-out .svn CVS Makefile,$(wildcard *)) 11 | install: 12 | $(INSTALL) -d $(PREFIX)$(UCLIBCXX_RUNTIME_INCLUDEDIR) 13 | $(INSTALL) -m 644 $(HEADERS) $(PREFIX)$(UCLIBCXX_RUNTIME_INCLUDEDIR) 14 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/StandardCplusplus.h: -------------------------------------------------------------------------------- 1 | #undef abs 2 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/algorithm.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | 21 | #include 22 | 23 | 24 | namespace std{ 25 | 26 | 27 | 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/associative_base.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2007 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/bitset.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/cassert: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/cctype: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2006 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | 21 | namespace std{ 22 | 23 | using ::isalnum; 24 | using ::isalpha; 25 | using ::iscntrl; 26 | using ::isdigit; 27 | using ::isgraph; 28 | using ::islower; 29 | using ::isprint; 30 | using ::ispunct; 31 | using ::isspace; 32 | using ::isupper; 33 | using ::isxdigit; 34 | using ::tolower; 35 | using ::toupper; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/cerrno: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/cfloat: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | #ifndef __STD_HEADER_CFLOAT 23 | #define __STD_HEADER_CFLOAT 1 24 | 25 | 26 | #include 27 | 28 | 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/climits: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #ifndef __STD_HEADER_CLIMITS 21 | #define __STD_HEADER_CLIMITS 1 22 | 23 | 24 | #include 25 | 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/clocale: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #ifndef __STD_HEADER_CLOCALE 20 | #define __STD_HEADER_CLOCALE 1 21 | 22 | #include 23 | 24 | namespace std { 25 | using ::lconv; 26 | using ::setlocale; 27 | using ::localeconv; 28 | } 29 | 30 | #endif // __STD_HEADER_CLOCALE 31 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/complex.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | 21 | 22 | namespace std{ 23 | 24 | 25 | template class _UCXXEXPORT complex; 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/del_op.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | // Arduino 1.0 contains an implementation for this. 21 | #if ! defined(ARDUINO) || ( ARDUINO < 100 ) 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | _UCXXEXPORT void operator delete(void* ptr) throw(){ 28 | free(ptr); 29 | } 30 | #endif 31 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/del_opnt.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #ifndef NO_NOTHROW 25 | _UCXXEXPORT void operator delete(void* ptr, const std::nothrow_t& ) throw() { 26 | free(ptr); 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/del_opv.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | // Arduino now defines this. 25 | //_UCXXEXPORT void operator delete[](void * ptr) throw(){ 26 | // free(ptr); 27 | //} 28 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/del_opvnt.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #ifndef NO_NOTHROW 25 | _UCXXEXPORT void operator delete[](void* ptr, const std::nothrow_t& ) throw(){ 26 | free(ptr); 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/deque.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | 23 | namespace std{ 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | } 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/examples/serstream/more.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | void more(void) 5 | { 6 | Serial.print("more"); 7 | 8 | std::cout << 1.0f; 9 | } 10 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/examples/serstream/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | jam u0 && expect test.ex 4 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/examples/serstream/serstream.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | 7 | // declares cout/cerr, but the application must define them 8 | // because it's up to you what to do with them. 9 | namespace std 10 | { 11 | ohserialstream cout(Serial); 12 | } 13 | 14 | extern void more(void); 15 | 16 | void setup(void) 17 | { 18 | Serial.begin(57600); 19 | 20 | cout << "Hello, world." << endl; 21 | 22 | cout << F("I use up absolutely no RAM space whatsoever") << endl; 23 | cout << F("so you can use as many F() strings as you want!") << endl; 24 | 25 | float fmax = __FLT_MAX__, fmin = __FLT_MIN__; 26 | cout.precision(7); 27 | cout << "Float " << scientific << fmax << endl; 28 | cout << "Float " << scientific << fmin << endl; 29 | 30 | more(); 31 | 32 | cout << "+OK" << endl; 33 | 34 | int n = 3; 35 | int (*button)[3] = new int[n][3]; 36 | } 37 | 38 | void loop(void) 39 | { 40 | } 41 | 42 | // vim:cin:ai:sts=2 sw=2 ft=cpp 43 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/examples/serstream/test.ex: -------------------------------------------------------------------------------- 1 | #/usr/bin/expect 2 | 3 | set timeout 100 4 | spawn picocom -b 57600 /dev/ttyUSB0 5 | expect "+OK" 6 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/examples/string_vector/string_vector.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | using namespace std; 8 | 9 | // declares cout/cerr, but the application must define them 10 | // because it's up to you what to do with them. 11 | namespace std 12 | { 13 | ohserialstream cout(Serial); 14 | } 15 | 16 | vector strings; 17 | 18 | void setup(void) 19 | { 20 | Serial.begin(57600); 21 | 22 | strings.push_back("Hello,"); 23 | strings.push_back("world!"); 24 | copy(strings.begin(),strings.end(),ostream_iterator(cout," ")); 25 | cout << endl; 26 | } 27 | 28 | void loop(void) 29 | { 30 | } 31 | 32 | // vim:cin:ai:sts=2 sw=2 ft=cpp 33 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/iomanip.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/iterator.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | } 27 | 28 | 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/limits.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2006 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/list.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/locale.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | namespace std{ 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/map.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/new_handler.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | const std::nothrow_t std::nothrow = { }; 23 | 24 | //Name selected to be compatable with g++ code 25 | std::new_handler __new_handler; 26 | 27 | _UCXXEXPORT std::new_handler std::set_new_handler(std::new_handler new_p) throw(){ 28 | std::new_handler retval = __new_handler; 29 | __new_handler = new_p; 30 | return retval; 31 | } 32 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/new_opnt.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #ifndef NO_NOTHROW 25 | _UCXXEXPORT void* operator new(std::size_t numBytes, const std::nothrow_t& ) throw(){ 26 | return malloc(numBytes); 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/new_opvnt.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #ifndef NO_NOTHROW 25 | _UCXXEXPORT void* operator new[](std::size_t numBytes, const std::nothrow_t& ) throw(){ 26 | return malloc(numBytes); 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/numeric.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | } 26 | 27 | 28 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/queue.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/set.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/stack.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | */ 18 | 19 | #include 20 | 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/typeinfo.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | _UCXXEXPORT bad_cast::~bad_cast() throw(){ 25 | 26 | } 27 | 28 | _UCXXEXPORT bad_typeid::~bad_typeid() throw(){ 29 | 30 | } 31 | 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/uartbuf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/StandardCplusplus/uartbuf -------------------------------------------------------------------------------- /libraries/StandardCplusplus/utility.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | This file is part of the uClibc++ Library. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 | 18 | */ 19 | 20 | 21 | #include 22 | 23 | 24 | namespace std{ 25 | 26 | 27 | 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /libraries/StandardCplusplus/valarray.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Garrett A. Kajmowicz 2 | 3 | This file is part of the uClibc++ Library. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | 20 | #include 21 | 22 | namespace std{ 23 | 24 | 25 | 26 | 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /libraries/USBHost/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For USBHost 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | MouseController KEYWORD1 10 | USBHost KEYWORD1 11 | KeyboardController KEYWORD1 12 | 13 | ####################################### 14 | # Methods and Functions (KEYWORD2) 15 | ####################################### 16 | 17 | Task KEYWORD2 18 | mouseMoved KEYWORD2 19 | mouseDragged KEYWORD2 20 | mousePressed KEYWORD2 21 | mouseReleased KEYWORD2 22 | getXChange KEYWORD2 23 | getYChange KEYWORD2 24 | getButton KEYWORD2 25 | keyPressed KEYWORD2 26 | keyReleased KEYWORD2 27 | getModifiers KEYWORD2 28 | getKey KEYWORD2 29 | getOemKey KEYWORD2 30 | 31 | 32 | ####################################### 33 | # Constants (LITERAL1) 34 | ####################################### 35 | 36 | -------------------------------------------------------------------------------- /libraries/USBHost/library.properties: -------------------------------------------------------------------------------- 1 | name=USBHost 2 | version=1.0 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Allows the communication with USB peripherals like mice, keyboards, and thumbdrives. For Arduino MKR1000 and Zero. 6 | paragraph=The USBHost library allows the board to appear as a USB host, enabling it to communicate with peripherals like USB mice and keyboards. USBHost does not support devices that are connected through USB hubs. This includes some keyboards that have an internal hub. 7 | category=Other 8 | url=http://arduino.cc/en/Reference/USBHost 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino: -------------------------------------------------------------------------------- 1 | // I2C Digital Potentiometer 2 | // by Nicholas Zambetti 3 | // and Shawn Bonkowski 4 | 5 | // Demonstrates use of the Wire library 6 | // Controls AD5171 digital potentiometer via I2C/TWI 7 | 8 | // Created 31 March 2006 9 | 10 | // This example code is in the public domain. 11 | 12 | // This example code is in the public domain. 13 | 14 | 15 | #include 16 | 17 | void setup() 18 | { 19 | Wire.begin(); // join i2c bus (address optional for master) 20 | } 21 | 22 | byte val = 0; 23 | 24 | void loop() 25 | { 26 | Wire.beginTransmission(44); // transmit to device #44 (0x2c) 27 | // device address is specified in datasheet 28 | Wire.write(byte(0x00)); // sends instruction byte 29 | Wire.write(val); // sends potentiometer value byte 30 | Wire.endTransmission(); // stop transmitting 31 | 32 | val++; // increment value 33 | if(val == 64) // if reached 64th position (max) 34 | { 35 | val = 0; // start over from lowest value 36 | } 37 | delay(500); 38 | } 39 | 40 | -------------------------------------------------------------------------------- /libraries/Wire/examples/master_reader/master_reader.ino: -------------------------------------------------------------------------------- 1 | // Wire Master Reader 2 | // by Nicholas Zambetti 3 | 4 | // Demonstrates use of the Wire library 5 | // Reads data from an I2C/TWI slave device 6 | // Refer to the "Wire Slave Sender" example for use with this 7 | 8 | // Created 29 March 2006 9 | 10 | // This example code is in the public domain. 11 | 12 | 13 | #include 14 | 15 | void setup() 16 | { 17 | Wire.begin(); // join i2c bus (address optional for master) 18 | Serial.begin(9600); // start serial for output 19 | } 20 | 21 | void loop() 22 | { 23 | Wire.requestFrom(2, 6); // request 6 bytes from slave device #2 24 | 25 | while(Wire.available()) // slave may send less than requested 26 | { 27 | char c = Wire.read(); // receive a byte as character 28 | Serial.print(c); // print the character 29 | } 30 | 31 | delay(500); 32 | } 33 | -------------------------------------------------------------------------------- /libraries/Wire/examples/master_writer/master_writer.ino: -------------------------------------------------------------------------------- 1 | // Wire Master Writer 2 | // by Nicholas Zambetti 3 | 4 | // Demonstrates use of the Wire library 5 | // Writes data to an I2C/TWI slave device 6 | // Refer to the "Wire Slave Receiver" example for use with this 7 | 8 | // Created 29 March 2006 9 | 10 | // This example code is in the public domain. 11 | 12 | 13 | #include 14 | 15 | void setup() 16 | { 17 | Wire.begin(); // join i2c bus (address optional for master) 18 | } 19 | 20 | byte x = 0; 21 | 22 | void loop() 23 | { 24 | Wire.beginTransmission(4); // transmit to device #4 25 | Wire.write("x is "); // sends five bytes 26 | Wire.write(x); // sends one byte 27 | Wire.endTransmission(); // stop transmitting 28 | 29 | x++; 30 | delay(500); 31 | } 32 | -------------------------------------------------------------------------------- /libraries/Wire/examples/slave_receiver/slave_receiver.ino: -------------------------------------------------------------------------------- 1 | // Wire Slave Receiver 2 | // by Nicholas Zambetti 3 | 4 | // Demonstrates use of the Wire library 5 | // Receives data as an I2C/TWI slave device 6 | // Refer to the "Wire Master Writer" example for use with this 7 | 8 | // Created 29 March 2006 9 | 10 | // This example code is in the public domain. 11 | 12 | 13 | #include 14 | 15 | void setup() 16 | { 17 | Wire.begin(4); // join i2c bus with address #4 18 | Wire.onReceive(receiveEvent); // register event 19 | Serial.begin(9600); // start serial for output 20 | } 21 | 22 | void loop() 23 | { 24 | delay(100); 25 | } 26 | 27 | // function that executes whenever data is received from master 28 | // this function is registered as an event, see setup() 29 | void receiveEvent(int howMany) 30 | { 31 | while(1 < Wire.available()) // loop through all but the last 32 | { 33 | char c = Wire.read(); // receive byte as a character 34 | Serial.print(c); // print the character 35 | } 36 | int x = Wire.read(); // receive byte as an integer 37 | Serial.println(x); // print the integer 38 | } 39 | -------------------------------------------------------------------------------- /libraries/Wire/examples/slave_sender/slave_sender.ino: -------------------------------------------------------------------------------- 1 | // Wire Slave Sender 2 | // by Nicholas Zambetti 3 | 4 | // Demonstrates use of the Wire library 5 | // Sends data as an I2C/TWI slave device 6 | // Refer to the "Wire Master Reader" example for use with this 7 | 8 | // Created 29 March 2006 9 | 10 | // This example code is in the public domain. 11 | 12 | 13 | #include 14 | 15 | void setup() 16 | { 17 | Wire.begin(2); // join i2c bus with address #2 18 | Wire.onRequest(requestEvent); // register event 19 | } 20 | 21 | void loop() 22 | { 23 | delay(100); 24 | } 25 | 26 | // function that executes whenever data is requested by master 27 | // this function is registered as an event, see setup() 28 | void requestEvent() 29 | { 30 | Wire.write("hello "); // respond with message of 6 bytes 31 | // as expected by master 32 | } 33 | -------------------------------------------------------------------------------- /libraries/Wire/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Wire 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ####################################### 10 | # Methods and Functions (KEYWORD2) 11 | ####################################### 12 | 13 | begin KEYWORD2 14 | beginTransmission KEYWORD2 15 | endTransmission KEYWORD2 16 | requestFrom KEYWORD2 17 | onReceive KEYWORD2 18 | onRequest KEYWORD2 19 | 20 | ####################################### 21 | # Instances (KEYWORD2) 22 | ####################################### 23 | 24 | Wire KEYWORD2 25 | Wire1 KEYWORD2 26 | 27 | ####################################### 28 | # Constants (LITERAL1) 29 | ####################################### 30 | 31 | -------------------------------------------------------------------------------- /libraries/Wire/library.properties: -------------------------------------------------------------------------------- 1 | name=Wire 2 | version=1.0 3 | author=Jonathan BAUDIN, Thibaut VIARD, Arduino 4 | maintainer=Arduino 5 | sentence=Allows the communication between devices or sensors connected via Two Wire Interface Bus. Specific implementation for Arduino Zero. 6 | paragraph= 7 | category=Communication 8 | url=http://www.arduino.cc/en/Reference/Wire 9 | architectures=samd 10 | -------------------------------------------------------------------------------- /libraries/stlport/.gitignore: -------------------------------------------------------------------------------- 1 | obj 2 | *~ 3 | *.SUNWCCh 4 | /build/Makefiles/gmake/config.mak 5 | /build/lib/Makefile 6 | /build/test/eh/Makefile 7 | /build/test/unit/Makefile 8 | /build/test/unit/test.txt 9 | /build/test/unit/test_file.txt 10 | /build/test/unit/win32_file_format.tmp 11 | /src/Makefile 12 | /test/unit/Makefile 13 | /test/eh/Makefile 14 | CMakeCache.txt 15 | CMakeFiles 16 | /build/cmake/Makefile 17 | /build/cmake/cmake_install.cmake 18 | libstlport.so* 19 | libstlport_s* 20 | stl_unit_test 21 | -------------------------------------------------------------------------------- /libraries/stlport/README.txt: -------------------------------------------------------------------------------- 1 | STLport for AVR and Arduino 2 | =========================== 3 | 4 | This is maintained at 5 | 6 | Run `build/generate-arduino.py` to generate the Arduino "library" from this 7 | source tree. 8 | 9 | Acknowledgement 10 | --------------- 11 | If you find this useful, we would appreciate hearing from you. If you 12 | use this for academic work, we would also appreciate a copy of the 13 | publication and a citation: this helps make a case for our work. You may 14 | contact the main developer, Ryan Pavlik (Iowa State University, Virtual 15 | Reality Applications Center), by email at or 16 | , or his advisor, Dr. Judy M. Vance, at 17 | . 18 | 19 | Paper materials and copies of publications may be mailed to: 20 | 21 | > Ryan Pavlik 22 | > 23 | > Virtual Reality Applications Center 24 | > 25 | > 1620 Howe Hall 26 | > 27 | > Ames, Iowa 50011-2274 28 | > 29 | > USA 30 | 31 | 32 | -------------------------------------------------------------------------------- /libraries/stlport/callstack.h: -------------------------------------------------------------------------------- 1 | // -*- C++ -*- Time-stamp: <2012-02-27 17:39:14 ptr> 2 | 3 | /* 4 | * Copyright (c) 2007, 2009, 2012 5 | * Petr Ovtchenkov 6 | * 7 | * This material is provided "as is", with absolutely no warranty expressed 8 | * or implied. Any use is at your own risk. 9 | * 10 | * Permission to use or copy this software for any purpose is hereby granted 11 | * without fee, provided the above notices are retained on all copies. 12 | * Permission to modify the code and to distribute modified code is granted, 13 | * provided the above notices are retained, and a notice that the code was 14 | * modified is included with the above copyright notice. 15 | * 16 | */ 17 | 18 | #ifndef _STLP_CALLSTACK_H 19 | #define _STLP_CALLSTACK_H 20 | 21 | // #include 22 | // #include 23 | 24 | //namespace xmt { 25 | 26 | //void callstack( std::ostream& ); 27 | //std::string demangle( const char* ); 28 | 29 | //} // namespace xmt 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /libraries/stlport/cassert: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999 3 | * Boris Fomitchev 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | * 14 | */ 15 | 16 | #ifndef _STLP_OUTERMOST_HEADER_ID 17 | # define _STLP_OUTERMOST_HEADER_ID 0x103 18 | # include 19 | #elif (_STLP_OUTERMOST_HEADER_ID == 0x103) && ! defined (_STLP_DONT_POP_HEADER_ID) 20 | # define _STLP_DONT_POP_HEADER_ID 21 | #endif 22 | 23 | #include 24 | 25 | #if (_STLP_OUTERMOST_HEADER_ID == 0x103 ) 26 | # if !defined (_STLP_DONT_POP_HEADER_ID) 27 | # include 28 | # undef _STLP_OUTERMOST_HEADER_ID 29 | # else 30 | # undef _STLP_DONT_POP_HEADER_ID 31 | # endif 32 | #endif 33 | 34 | // Local Variables: 35 | // mode:C++ 36 | // End: 37 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_cprolog.h: -------------------------------------------------------------------------------- 1 | /* NOTE : this header has no guards and is MEANT for multiple inclusion! 2 | * If you are using "header protection" option with your compiler, 3 | * please also find #pragma which disables it and put it here, to 4 | * allow reentrancy of this header. 5 | */ 6 | 7 | #ifdef std 8 | # undef std /* We undef "std" on entry , as STLport headers may include native ones. */ 9 | #endif 10 | 11 | #ifdef _STLP_PROLOG_HEADER_INCLUDED 12 | # error STlport prolog header can not be reincluded as long as epilog has not be included. 13 | #endif 14 | 15 | #define _STLP_PROLOG_HEADER_INCLUDED 16 | 17 | #ifndef _STLP_FEATURES_H 18 | # include 19 | #endif 20 | 21 | /* If the platform provides any specific prolog actions, 22 | * like #pragmas, do include platform-specific prolog file */ 23 | #if defined (_STLP_HAS_SPECIFIC_PROLOG_EPILOG) 24 | # include 25 | #endif 26 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_cstdarg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999 3 | * Boris Fomitchev 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | */ 14 | 15 | #ifndef _STLP_INTERNAL_CSTDARG 16 | #define _STLP_INTERNAL_CSTDARG 17 | 18 | #if defined (_STLP_USE_NEW_C_HEADERS) 19 | # if defined (_STLP_HAS_INCLUDE_NEXT) 20 | # include_next 21 | # else 22 | # include _STLP_NATIVE_CPP_C_HEADER(cstdarg) 23 | # endif 24 | #else 25 | # include 26 | #endif 27 | 28 | #ifdef _STLP_IMPORT_VENDOR_CSTD 29 | _STLP_BEGIN_NAMESPACE 30 | using _STLP_VENDOR_CSTD::va_list; 31 | _STLP_END_NAMESPACE 32 | #endif /* _STLP_IMPORT_VENDOR_CSTD */ 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_cstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1999 3 | * Boris Fomitchev 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | * 14 | */ 15 | 16 | #ifndef _STLP_INTERNAL_CSTRING 17 | #define _STLP_INTERNAL_CSTRING 18 | 19 | #if defined (_STLP_USE_NEW_C_HEADERS) 20 | # if defined (_STLP_HAS_INCLUDE_NEXT) 21 | # include_next 22 | # else 23 | # include _STLP_NATIVE_CPP_C_HEADER(cstring) 24 | # endif 25 | #else 26 | # include 27 | #endif 28 | 29 | #ifdef _STLP_IMPORT_VENDOR_CSTD 30 | _STLP_BEGIN_NAMESPACE 31 | # include 32 | _STLP_END_NAMESPACE 33 | #endif /* _STLP_IMPORT_VENDOR_CSTD */ 34 | 35 | #endif /* _STLP_INTERNAL_CSTRING */ 36 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_ioserr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is included in every header that needs the STLport library to be 3 | * built; the header files mostly are the iostreams-headers. The file checks for 4 | * _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS being not defined, so that the 5 | * iostreams part of STLport cannot be used when the symbols were defined 6 | * accidentally. 7 | */ 8 | #if defined (_STLP_NO_IOSTREAMS) 9 | # error STLport iostreams header cannot be used; you chose not to use iostreams in the STLport configuration file (stlport/stl/config/user_config.h). 10 | #elif defined (_STLP_USE_NO_IOSTREAMS ) 11 | # error STLport iostreams header cannot be used; your compiler do not support it. 12 | #endif 13 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_prolog.h: -------------------------------------------------------------------------------- 1 | /* NOTE : this header has no guards and is MEANT for multiple inclusion! 2 | * If you are using "header protection" option with your compiler, 3 | * please also find #pragma which disables it and put it here, to 4 | * allow reentrancy of this header. 5 | */ 6 | 7 | #include 8 | 9 | /* Get all debug things, potentially only empty macros if none of 10 | * the debug features available in user config file is activated. */ 11 | /* Thanks to _STLP_OUTERMOST_HEADER_ID we hide _debug.h when C standard 12 | * headers are included as some platforms (Win32) include C standard headers 13 | * in an 'extern "C"' scope which do not accept the templates exposed 14 | * in _debug.h. */ 15 | #if defined (__cplusplus) && !defined (_STLP_DEBUG_H) && \ 16 | !((_STLP_OUTERMOST_HEADER_ID >= 0x200) && (_STLP_OUTERMOST_HEADER_ID <= 0x300)) 17 | # include 18 | #endif 19 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_relops_cont.h: -------------------------------------------------------------------------------- 1 | // This is an implementation file which 2 | // is intended to be included multiple times with different _STLP_ASSOCIATIVE_CONTAINER 3 | // setting 4 | 5 | #if !defined (_STLP_EQUAL_OPERATOR_SPECIALIZED) 6 | _STLP_TEMPLATE_HEADER 7 | inline bool _STLP_CALL operator==(const _STLP_TEMPLATE_CONTAINER& __x, 8 | const _STLP_TEMPLATE_CONTAINER& __y) { 9 | return __x.size() == __y.size() && 10 | equal(__x.begin(), __x.end(), __y.begin()); 11 | } 12 | #endif /* _STLP_EQUAL_OPERATOR_SPECIALIZED */ 13 | 14 | _STLP_TEMPLATE_HEADER 15 | inline bool _STLP_CALL operator<(const _STLP_TEMPLATE_CONTAINER& __x, 16 | const _STLP_TEMPLATE_CONTAINER& __y) { 17 | return lexicographical_compare(__x.begin(), __x.end(), 18 | __y.begin(), __y.end()); 19 | } 20 | 21 | _STLP_RELOPS_OPERATORS( _STLP_TEMPLATE_HEADER , _STLP_TEMPLATE_CONTAINER ) 22 | 23 | #if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 24 | _STLP_TEMPLATE_HEADER 25 | inline void _STLP_CALL swap(_STLP_TEMPLATE_CONTAINER& __x, 26 | _STLP_TEMPLATE_CONTAINER& __y) { 27 | __x.swap(__y); 28 | } 29 | #endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ 30 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_relops_hash_cont.h: -------------------------------------------------------------------------------- 1 | /* This is an implementation file which is intended to be included 2 | * multiple times with different _STLP_TEMPLATE_CONTAINER settings. 3 | */ 4 | 5 | #if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 6 | 7 | _STLP_TEMPLATE_HEADER 8 | inline void _STLP_CALL 9 | swap(_STLP_TEMPLATE_CONTAINER& __hm1, _STLP_TEMPLATE_CONTAINER& __hm2) { 10 | __hm1.swap(__hm2); 11 | } 12 | 13 | #endif /* _STLP_FUNCTION_TMPL_PARTIAL_ORDER */ 14 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_stlport_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright (c) 2005 4 | * Francois Dumont 5 | * 6 | * This material is provided "as is", with absolutely no warranty expressed 7 | * or implied. Any use is at your own risk. 8 | * 9 | * Permission to use or copy this software for any purpose is hereby granted 10 | * without fee, provided the above notices are retained on all copies. 11 | * Permission to modify the code and to distribute modified code is granted, 12 | * provided the above notices are retained, and a notice that the code was 13 | * modified is included with the above copyright notice. 14 | * 15 | */ 16 | 17 | #ifndef _STLP_STLPORT_VERSION_H 18 | #define _STLP_STLPORT_VERSION_H 19 | 20 | /* The last SGI STL release we merged with */ 21 | #define __SGI_STL 0x330 22 | 23 | /* STLport version */ 24 | #define _STLPORT_MAJOR 5 25 | #define _STLPORT_MINOR 2 26 | #define _STLPORT_PATCHLEVEL 2 27 | 28 | #define _STLPORT_VERSION 0x522 29 | 30 | #endif /* _STLP_STLPORT_VERSION_H */ 31 | -------------------------------------------------------------------------------- /libraries/stlport/stl/_string_npos.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005 3 | * Francois Dumont 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | */ 14 | 15 | /* This header contains npos definition used in basic_string and rope 16 | * implementation. It do not have to be guarded as files including it 17 | * are already guarded and it has sometimes to be included several times. 18 | */ 19 | 20 | #if defined (_STLP_STATIC_CONST_INIT_BUG) 21 | enum { npos = -1 }; 22 | #elif defined (__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 96) 23 | // inline initializer conflicts with 'extern template' 24 | static const size_t npos; 25 | #else 26 | static const size_t npos = ~(size_t)0; 27 | #endif 28 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_aix.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "AIX" 2 | 3 | #define _STLP_USE_UNIX_IO 4 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_apcc.h: -------------------------------------------------------------------------------- 1 | // STLport config file for Apogee 4.x 2 | 3 | #define _STLP_COMPILER "Apogee" 4 | 5 | #define _STLP_NO_NEW_NEW_HEADER 1 6 | #define _STLP_HAS_NO_NEW_C_HEADERS 1 7 | 8 | #if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) 9 | # define _STLP_RAND48 1 10 | #endif 11 | // # define _STLP_RAND48 1 12 | #define _STLP_LONG_LONG long long 13 | #define _STLP_NO_BAD_ALLOC 1 14 | #define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 15 | #define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 16 | // # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 17 | #define _STLP_NO_EXCEPTION_HEADER 1 18 | 19 | #undef _STLP_LINK_TIME_INSTANTIATION 20 | #define _STLP_LINK_TIME_INSTANTIATION 1 21 | 22 | #ifdef __STDLIB 23 | # undef _STLP_NO_NEW_C_HEADERS 24 | # undef _STLP_NO_NEW_NEW_HEADER 25 | # undef _STLP_NO_BAD_ALLOC 26 | # undef _STLP_LONG_LONG 27 | #else 28 | # undef _STLP_NO_EXCEPTION_SPEC 29 | # define _STLP_NO_EXCEPTION_SPEC 1 30 | #endif 31 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_cygwin.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "Cygwin" 2 | 3 | #define _STLP_UNIX 4 | 5 | #ifndef _STLP_USE_STDIO_IO 6 | # define _STLP_USE_UNIX_IO 7 | #endif 8 | 9 | #define _STLP_LDOUBLE_96 10 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_epilog.h: -------------------------------------------------------------------------------- 1 | #if defined (_STLP_MSVC) || defined (__ICL) 2 | 3 | # pragma warning (pop) 4 | # pragma pack (pop) 5 | 6 | #elif defined (__BORLANDC__) 7 | 8 | # pragma option pop 9 | # pragma option -w-pow // -w-8062 Previous options and warnings not restored 10 | 11 | #elif defined (__sgi) && !defined (__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) 12 | 13 | # pragma reset woff 1174 14 | # pragma reset woff 1375 15 | # pragma reset woff 1209 16 | /* from iterator_base.h */ 17 | # pragma reset woff 1183 18 | 19 | #elif defined (__DECCXX) 20 | 21 | # ifdef __PRAGMA_ENVIRONMENT 22 | # pragma __environment __restore 23 | # endif 24 | 25 | #elif defined (__IBMCPP__) 26 | 27 | # pragma info(restore) 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_freebsd.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "Free BSD" 2 | 3 | #define _STLP_USE_UNIX_IO 4 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_fujitsu.h: -------------------------------------------------------------------------------- 1 | /* STLport configuration for Fujitsu compiler : looks like a perfect one ! */ 2 | #define _STLP_COMPILER "Fujitsu" 3 | 4 | #define _STLP_NATIVE_INCLUDE_PATH ../std 5 | #define _STLP_UINT32_T unsigned int 6 | #define _STLP_LONG_LONG long long 7 | #define _STLP_WCHAR_SUNPRO_EXCLUDE 1 8 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_hpux.h: -------------------------------------------------------------------------------- 1 | #ifndef __stl_config__hpux_h 2 | #define __stl_config__hpux_h 3 | 4 | #define _STLP_PLATFORM "HP Unix" 5 | 6 | #define _STLP_USE_UNIX_IO 7 | 8 | #ifdef __GNUC__ 9 | # define _STLP_NO_WCHAR_T 10 | # define _STLP_NO_CWCHAR 11 | # define _STLP_NO_LONG_DOUBLE 12 | # ifndef _POSIX_C_SOURCE 13 | # define _POSIX_C_SOURCE 199506 14 | # endif 15 | #endif 16 | 17 | #endif /* __stl_config__hpux_h */ 18 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_mac.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "Mac" 2 | 3 | #define _STLP_MAC 1 4 | 5 | #error Looks like unsupported platform 6 | #define _STLP_USE_UNIX_EMULATION_IO 7 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_macosx.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "Mac OS X" 2 | 3 | #if defined (__BIG_ENDIAN__) 4 | # define _STLP_BIG_ENDIAN 1 5 | #elif defined (__LITTLE_ENDIAN__) 6 | # define _STLP_LITTLE_ENDIAN 1 7 | #endif 8 | 9 | #define _STLP_USE_UNIX_IO 10 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_mlc.h: -------------------------------------------------------------------------------- 1 | // STLport configuration file 2 | // It is internal STLport header - DO NOT include it directly 3 | 4 | #define _STLP_NO_MEMBER_TEMPLATES // Compiler does not support member templates 5 | #define _STLP_NO_MEMBER_TEMPLATE_CLASSES // Compiler does not support member template classes 6 | 7 | #define _STLP_HAS_NEW_NEW_HEADER 8 | -------------------------------------------------------------------------------- /libraries/stlport/stl/config/_openbsd.h: -------------------------------------------------------------------------------- 1 | #define _STLP_PLATFORM "Open BSD" 2 | 3 | #define _STLP_USE_UNIX_IO 4 | 5 | #if defined (_POSIX_THREADS) && !defined (_STLP_THREADS) 6 | # define _STLP_THREADS 7 | #endif 8 | 9 | #if defined (_POSIX_THREADS) && !defined (_STLP_DONT_USE_PTHREAD_SPINLOCK) 10 | # define _STLP_USE_PTHREAD_SPINLOCK 11 | # define _STLP_STATIC_MUTEX _STLP_mutex 12 | #endif 13 | -------------------------------------------------------------------------------- /libraries/stlport/stlport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/femtoduino/ArduinoCore-atsamd21e18a/bc1e5b5d6698b8ff4e1d5b8bfa879d057366bf8b/libraries/stlport/stlport.h -------------------------------------------------------------------------------- /libraries/stlport/unordered_map: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004,2005 3 | * Francois Dumont 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | * 14 | */ 15 | 16 | #ifndef _STLP_UNORDERED_MAP 17 | #define _STLP_UNORDERED_MAP 18 | 19 | #ifndef _STLP_OUTERMOST_HEADER_ID 20 | # define _STLP_OUTERMOST_HEADER_ID 0x4030 21 | # include 22 | #endif 23 | 24 | #ifdef _STLP_PRAGMA_ONCE 25 | # pragma once 26 | #endif 27 | 28 | #include 29 | 30 | #if (_STLP_OUTERMOST_HEADER_ID == 0x4030) 31 | # include 32 | # undef _STLP_OUTERMOST_HEADER_ID 33 | #endif 34 | 35 | #endif /* _STLP_UNORDERED_MAP */ 36 | 37 | // Local Variables: 38 | // mode:C++ 39 | // End: 40 | -------------------------------------------------------------------------------- /libraries/stlport/unordered_set: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004,2005 3 | * Francois Dumont 4 | * 5 | * This material is provided "as is", with absolutely no warranty expressed 6 | * or implied. Any use is at your own risk. 7 | * 8 | * Permission to use or copy this software for any purpose is hereby granted 9 | * without fee, provided the above notices are retained on all copies. 10 | * Permission to modify the code and to distribute modified code is granted, 11 | * provided the above notices are retained, and a notice that the code was 12 | * modified is included with the above copyright notice. 13 | * 14 | */ 15 | 16 | #ifndef _STLP_UNORDERED_SET 17 | #define _STLP_UNORDERED_SET 18 | 19 | #ifndef _STLP_OUTERMOST_HEADER_ID 20 | # define _STLP_OUTERMOST_HEADER_ID 0x4031 21 | # include 22 | #endif 23 | 24 | #ifdef _STLP_PRAGMA_ONCE 25 | # pragma once 26 | #endif 27 | 28 | #include 29 | 30 | #if (_STLP_OUTERMOST_HEADER_ID == 0x4031) 31 | # include 32 | # undef _STLP_OUTERMOST_HEADER_ID 33 | #endif 34 | 35 | #endif /* _STLP_UNORDERED_SET */ 36 | 37 | // Local Variables: 38 | // mode:C++ 39 | // End: 40 | -------------------------------------------------------------------------------- /libraries/stlport/using/export: -------------------------------------------------------------------------------- 1 | cstring 2 | fstream 3 | iomanip 4 | ios 5 | iosfwd 6 | iostream 7 | istream 8 | locale 9 | ostream 10 | sstream 11 | streambuf 12 | strstream 13 | -------------------------------------------------------------------------------- /libraries/stlport/using/fstream: -------------------------------------------------------------------------------- 1 | #ifdef _STLP_BROKEN_USING_DIRECTIVE 2 | using namespace _STLP_STD; 3 | #else 4 | using _STLP_NEW_IO_NAMESPACE::basic_filebuf; 5 | using _STLP_NEW_IO_NAMESPACE::filebuf; 6 | using _STLP_NEW_IO_NAMESPACE::basic_ifstream; 7 | using _STLP_NEW_IO_NAMESPACE::basic_ofstream; 8 | using _STLP_NEW_IO_NAMESPACE::ifstream; 9 | using _STLP_NEW_IO_NAMESPACE::ofstream; 10 | using _STLP_NEW_IO_NAMESPACE::basic_fstream; 11 | using _STLP_NEW_IO_NAMESPACE::fstream; 12 | 13 | # ifndef _STLP_NO_WIDE_STREAMS 14 | using _STLP_NEW_IO_NAMESPACE::wofstream; 15 | using _STLP_NEW_IO_NAMESPACE::wfilebuf; 16 | using _STLP_NEW_IO_NAMESPACE::wifstream; 17 | using _STLP_NEW_IO_NAMESPACE::wfstream; 18 | # endif 19 | #endif 20 | -------------------------------------------------------------------------------- /libraries/stlport/using/iomanip: -------------------------------------------------------------------------------- 1 | using _STLP_NEW_IO_NAMESPACE::setiosflags; 2 | using _STLP_NEW_IO_NAMESPACE::resetiosflags; 3 | using _STLP_NEW_IO_NAMESPACE::setbase; 4 | using _STLP_NEW_IO_NAMESPACE::setfill; 5 | using _STLP_NEW_IO_NAMESPACE::setprecision; 6 | using _STLP_NEW_IO_NAMESPACE::setw; 7 | -------------------------------------------------------------------------------- /libraries/stlport/using/iostream: -------------------------------------------------------------------------------- 1 | 2 | # include 3 | 4 | using _STLP_VENDOR_STD::cin; 5 | using _STLP_VENDOR_STD::cout; 6 | using _STLP_VENDOR_STD::cerr; 7 | using _STLP_VENDOR_STD::clog; 8 | 9 | # if ! defined (_STLP_NO_WIDE_STREAMS) 10 | using _STLP_VENDOR_STD::wcin; 11 | using _STLP_VENDOR_STD::wcout; 12 | using _STLP_VENDOR_STD::wcerr; 13 | using _STLP_VENDOR_STD::wclog; 14 | # endif 15 | -------------------------------------------------------------------------------- /libraries/stlport/using/istream: -------------------------------------------------------------------------------- 1 | # include 2 | 3 | using _STLP_NEW_IO_NAMESPACE::basic_istream; 4 | using _STLP_NEW_IO_NAMESPACE::basic_iostream; 5 | 6 | using _STLP_NEW_IO_NAMESPACE::istream; 7 | using _STLP_NEW_IO_NAMESPACE::iostream; 8 | 9 | # if !defined (_STLP_NO_NATIVE_WIDE_STREAMS) 10 | using _STLP_NEW_IO_NAMESPACE::wistream; 11 | using _STLP_NEW_IO_NAMESPACE::wiostream; 12 | # endif 13 | 14 | #if !(defined (_STLP_MSVC) && (_STLP_MSVC < 1200)) 15 | using _STLP_NEW_IO_NAMESPACE::ws; 16 | #endif 17 | -------------------------------------------------------------------------------- /libraries/stlport/using/ostream: -------------------------------------------------------------------------------- 1 | using _STLP_NEW_IO_NAMESPACE::basic_ostream; 2 | using _STLP_NEW_IO_NAMESPACE::ostream; 3 | 4 | # ifndef _STLP_NO_WIDE_STREAMS 5 | using _STLP_NEW_IO_NAMESPACE::wostream; 6 | # endif 7 | 8 | using _STLP_NEW_IO_NAMESPACE::endl; 9 | using _STLP_NEW_IO_NAMESPACE::ends; 10 | using _STLP_NEW_IO_NAMESPACE::flush; 11 | -------------------------------------------------------------------------------- /libraries/stlport/using/sstream: -------------------------------------------------------------------------------- 1 | using _STLP_NEW_IO_NAMESPACE::basic_stringbuf; 2 | using _STLP_NEW_IO_NAMESPACE::stringbuf; 3 | 4 | using _STLP_NEW_IO_NAMESPACE::basic_istringstream; 5 | using _STLP_NEW_IO_NAMESPACE::basic_ostringstream; 6 | using _STLP_NEW_IO_NAMESPACE::basic_stringstream; 7 | using _STLP_NEW_IO_NAMESPACE::istringstream; 8 | using _STLP_NEW_IO_NAMESPACE::ostringstream; 9 | using _STLP_NEW_IO_NAMESPACE::stringstream; 10 | 11 | #ifndef _STLP_NO_WIDE_STREAMS 12 | using _STLP_NEW_IO_NAMESPACE::wstringbuf; 13 | using _STLP_NEW_IO_NAMESPACE::wistringstream; 14 | using _STLP_NEW_IO_NAMESPACE::wostringstream; 15 | using _STLP_NEW_IO_NAMESPACE::wstringstream; 16 | #endif 17 | -------------------------------------------------------------------------------- /libraries/stlport/using/streambuf: -------------------------------------------------------------------------------- 1 | using _STLP_NEW_IO_NAMESPACE::basic_streambuf; 2 | using _STLP_NEW_IO_NAMESPACE::streambuf; 3 | #ifndef _STLP_NO_WIDE_STREAMS 4 | using _STLP_NEW_IO_NAMESPACE::wstreambuf; 5 | # endif 6 | -------------------------------------------------------------------------------- /libraries/stlport/using/strstream: -------------------------------------------------------------------------------- 1 | using _STLP_NEW_IO_NAMESPACE::strstreambuf; 2 | using _STLP_NEW_IO_NAMESPACE::istrstream; 3 | using _STLP_NEW_IO_NAMESPACE::ostrstream; 4 | using _STLP_NEW_IO_NAMESPACE::strstream; 5 | -------------------------------------------------------------------------------- /post_install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set ARGS=/A /SE /SW /SA 3 | if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( 4 | drivers\dpinst-amd64.exe %ARGS% 5 | ) ELSE IF "%PROCESSOR_ARCHITEW6432%" == "AMD64" ( 6 | drivers\dpinst-amd64.exe %ARGS% 7 | ) ELSE ( 8 | drivers\dpinst-x86.exe %ARGS% 9 | ) 10 | exit /b 0 11 | -------------------------------------------------------------------------------- /programmers.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 2 | # 3 | # This library is free software; you can redistribute it and/or 4 | # modify it under the terms of the GNU Lesser General Public 5 | # License as published by the Free Software Foundation; either 6 | # version 2.1 of the License, or (at your option) any later version. 7 | # 8 | # This library is distributed in the hope that it will be useful, 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 | # See the GNU Lesser General Public License for more details. 12 | # 13 | # You should have received a copy of the GNU Lesser General Public 14 | # License along with this library; if not, write to the Free Software 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 16 | 17 | atmel_ice.name=Atmel-ICE 18 | atmel_ice.communication=USB 19 | atmel_ice.protocol= 20 | atmel_ice.program.protocol= 21 | atmel_ice.program.tool=openocd 22 | atmel_ice.program.extra_params= 23 | 24 | sam_ice.name=Atmel SAM-ICE 25 | sam_ice.communication=USB 26 | sam_ice.protocol= 27 | sam_ice.program.protocol= 28 | sam_ice.program.tool=openocd 29 | sam_ice.program.extra_params= 30 | -------------------------------------------------------------------------------- /variants/atsamd21e18a/debug_scripts/variant.gdb: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | # Define 'reset' command 22 | define reset 23 | 24 | info reg 25 | 26 | break main 27 | 28 | # End of 'reset' command 29 | end 30 | 31 | target remote | openocd -c "interface cmsis-dap" -c "set CHIPNAME at91samd21g18" -f target/at91samdXX.cfg -c "gdb_port pipe; log_output openocd.log" 32 | -------------------------------------------------------------------------------- /variants/atsamd21e18a/openocd_scripts/atsamd21e18a.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | source [find interface/cmsis-dap.cfg] 22 | 23 | # chip name 24 | set CHIPNAME at91samd21g18 25 | set ENDIAN little 26 | 27 | # choose a port here 28 | set telnet_port 0 29 | 30 | source [find target/at91samdXX.cfg] 31 | -------------------------------------------------------------------------------- /variants/atsamd21e18a/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2014-2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | // API compatibility 20 | #include "variant.h" 21 | 22 | -------------------------------------------------------------------------------- /variants/atsamr21e18a/debug_scripts/variant.gdb: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | # Define 'reset' command 22 | define reset 23 | 24 | info reg 25 | 26 | break main 27 | 28 | # End of 'reset' command 29 | end 30 | 31 | target remote | openocd -c "interface cmsis-dap" -c "set CHIPNAME at91samr21e18" -f target/at91samdXX.cfg -c "gdb_port pipe; log_output openocd.log" 32 | -------------------------------------------------------------------------------- /variants/atsamr21e18a/openocd_scripts/atsamr21e18a.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | source [find interface/cmsis-dap.cfg] 22 | 23 | # chip name 24 | set CHIPNAME at91samr21e18 25 | set ENDIAN little 26 | 27 | # choose a port here 28 | set telnet_port 0 29 | 30 | source [find target/at91samdXX.cfg] 31 | -------------------------------------------------------------------------------- /variants/atsamr21e18a/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2014-2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | // API compatibility 20 | #include "variant.h" 21 | 22 | -------------------------------------------------------------------------------- /variants/femtobeaconpro/debug_scripts/variant.gdb: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | # Define 'reset' command 22 | define reset 23 | 24 | info reg 25 | 26 | break main 27 | 28 | # End of 'reset' command 29 | end 30 | 31 | target remote | openocd -c "interface cmsis-dap" -c "set CHIPNAME at91samr21e18" -f target/at91samdXX.cfg -c "gdb_port pipe; log_output openocd.log" 32 | -------------------------------------------------------------------------------- /variants/femtobeaconpro/openocd_scripts/atsamr21e18a.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Arduino Zero OpenOCD script. 3 | # 4 | # Copyright (c) 2014-2015 Arduino LLC. All right reserved. 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | # See the GNU Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | 21 | source [find interface/cmsis-dap.cfg] 22 | 23 | # chip name 24 | set CHIPNAME at91samr21e18 25 | set ENDIAN little 26 | 27 | # choose a port here 28 | set telnet_port 0 29 | 30 | source [find target/at91samdXX.cfg] 31 | -------------------------------------------------------------------------------- /variants/femtobeaconpro/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2014-2015 Arduino LLC. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | // API compatibility 20 | #include "variant.h" 21 | 22 | --------------------------------------------------------------------------------