Lumitronix_Iflex_Pro_Workshop
Library to interact with the iFlexPro
NeoMethods.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2 NeoMethods includes all the classes that describe pulse/data sending methods using
3 bitbang, SPI, or other platform specific hardware peripherl support.
4 
5 Written by Michael C. Miller.
6 
7 I invest time and resources providing this open source code,
8 please support me by dontating (see https://github.com/Makuna)
9 
10 -------------------------------------------------------------------------
11 This file is part of the LUMITRONIX_iFlex_Workshop library.
12 
13 LumitronixIFlexBus is free software: you can redistribute it and/or modify
14 it under the terms of the GNU Lesser General Public License as
15 published by the Free Software Foundation, either version 3 of
16 the License, or (at your option) any later version.
17 
18 LumitronixIFlexBus is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU Lesser General Public License for more details.
22 
23 You should have received a copy of the GNU Lesser General Public
24 License along with LumitronixIFlex. If not, see
25 <http://www.gnu.org/licenses/>.
26 -------------------------------------------------------------------------*/
27 #pragma once
28 
29 // Generic Two Wire (clk and data) methods
30 //
39 
40 // Platform specific and One Wire (data) methods
41 //
42 #if defined(ARDUINO_ARCH_ESP8266)
43 
48 
49 #elif defined(ARDUINO_ARCH_ESP32)
50 
56 
57 #elif defined(ARDUINO_ARCH_NRF52840) // must be before __arm__
58 
60 
61 #elif defined(__arm__) // must be before ARDUINO_ARCH_AVR due to Teensy incorrectly having it set
62 
63 #include "methods/NeoArmMethod.h"
64 
65 #elif defined(ARDUINO_ARCH_AVR) || defined(ARDUINO_ARCH_MEGAAVR)
66 
67 #include "methods/NeoAvrMethod.h"
68 
69 #else
70 #error "Platform Currently Not Supported, please add an Issue at Github/Makuna/LumitronixIFlexBus"
71 #endif