6 #ifndef TCLIBRARYDEV_PLATFORMDETERMINATION_H
7 #define TCLIBRARYDEV_PLATFORMDETERMINATION_H
12 #if defined __has_include
13 # if __has_include ("zio_local_definitions.h")
14 # include "zio_local_definitions.h"
19 #if !defined(__MBED__) && !defined(BUILD_FOR_PICO_CMAKE)
33 #if defined(ARDUINO_PICO_REVISION)
36 # define IOA_USE_ARDUINO
37 # define IOA_ANALOGIN_RES 12
38 # define IOA_ANALOGOUT_RES 10
39 typedef uint8_t pinid_t;
40 #elif defined(ARDUINO_NANO_RP2040_CONNECT) || \
41 defined(ARDUINO_ARDUINO_NANO33BLE) || \
42 defined(ARDUINO_RASPBERRY_PI_PICO) || \
43 defined(ARDUINO_PORTENTA_H7_M7) || \
44 defined(ARDUINO_PORTENTA_H7_M4) || \
45 defined(ARDUINO_EDGE_CONTROL) || \
46 defined(ARDUINO_NICLA) || \
47 defined(ARDUINO_NICLA_VISION) || \
48 defined(TMIOA_FORCE_ARDUINO_MBED) || \
49 defined(ARDUINO_ARCH_MBED)
52 # define IOA_USE_ARDUINO
53 # define IOA_ARDUINO_MBED
54 # define IOA_ANALOGIN_RES 12
55 # define IOA_ANALOGOUT_RES 8
56 typedef uint32_t pinid_t;
57 #elif defined(__MBED__)
61 typedef uint32_t pinid_t;
62 #elif defined(BUILD_FOR_PICO_CMAKE)
63 #include <pico/stdlib.h>
64 typedef uint8_t pinid_t;
65 #define pgm_read_byte_near(x) (*(x))
68 # define IOA_USE_ARDUINO
70 typedef uint8_t pinid_t;
71 #define IOA_DEVICE_HAS_PORTS
73 #if defined(ARDUINO_ARCH_SAMD) && !defined(IO_MKR_FORCE_LOWRES_ANALOG)
74 # define IOA_ANALOGIN_RES 12
75 # define IOA_ANALOGOUT_RES 10
77 # define IOA_ANALOGIN_RES 12
78 # define IOA_ANALOGOUT_RES 8
79 #elif defined(ESP8266)
80 # define IOA_ANALOGIN_RES 10
81 # define IOA_ANALOGOUT_RES 10
82 #elif defined(ARDUINO_ARCH_RENESAS_UNO) && !defined(IO_MKR_FORCE_LOWRES_ANALOG)
83 #define IOA_ANALOGIN_RES 14
84 #define IOA_ANALOGOUT_RES 12
86 # define IOA_ANALOGIN_RES 10
87 # define IOA_ANALOGOUT_RES 8