PaulStoffregen / OneWire

Library for Dallas/Maxim 1-Wire Chips
http://www.pjrc.com/teensy/td_libs_OneWire.html
579 stars 382 forks source link

STM32F103C8 compile error #81

Open AEmelyanov757 opened 4 years ago

AEmelyanov757 commented 4 years ago

Visual Studio Code version: 1.39.2 PlaformIO version: 4.0.3 OS: Windows_NT x64 10.0.18362

CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103C8.html PLATFORM: ST STM32 5.6.0 > STM32F103C8 (20k RAM. 64k Flash) HARDWARE: STM32F103C8T6 72MHz, 20KB RAM, 64KB Flash DEBUG: Current (blackmagic) External (blackmagic, jlink, stlink) PACKAGES: toolchain-gccarmnoneeabi 1.70201.0 (7.2.1), framework-arduinoststm32-maple 1.10000.190819 (1.0.0)

Dependency Graph |-- 3.8.0 | |-- 2.3.5 | | |-- |-- 2.3.5 | |-- Compiling .pio\build\genericSTM32F103C8\lib7cd\OneWire_ID1\OneWire.cpp.o In file included from C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:144:0: C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'void OneWire::begin(uint8_t)': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:231:52: error: 'digitalPinToPinName' was not declared in this scope

define PIN_TO_BITMASK(pin) ((uint32_t)digitalPinToPinName(pin))

                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:150:12: note: in expansion of macro 'PIN_TO_BITMASK' bitmask = PIN_TO_BITMASK(pin); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:231:52: note: suggested alternative: 'digitalPinToBitMask'

define PIN_TO_BITMASK(pin) ((uint32_t)digitalPinToPinName(pin))

                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:150:12: note: in expansion of macro 'PIN_TO_BITMASK' bitmask = PIN_TO_BITMASK(pin); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'uint8_t OneWire::reset()': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: error: 'PinName' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: note: suggested alternative: 'rename'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: error: 'STM_MODE_INPUT' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: note: suggested alternative: 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: note: suggested alternative: '__section'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:172:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:178:30: error: expected ')' before 'mask' } while ( !DIRECT_READ(reg, mask)); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:66: note: in definition of macro 'DIRECT_READ'

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                                              ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:41: error: 'digitalReadFast' was not declared in this scope

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:178:13: note: in expansion of macro 'DIRECT_READ' } while ( !DIRECT_READ(reg, mask)); ^~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:41: note: suggested alternative: 'digitalRead'

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:178:13: note: in expansion of macro 'DIRECT_READ' } while ( !DIRECT_READ(reg, mask)); ^~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:181:24: error: expected ')' before 'mask' DIRECT_WRITE_LOW(reg, mask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:67: note: in definition of macro 'DIRECT_WRITE_LOW'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:181:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:181:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:182:26: error: expected ')' before 'mask' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:63: note: in definition of macro 'DIRECT_MODE_OUTPUT'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                           ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: error: 'STM_MODE_OUTPUT_PP' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:182:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: note: suggested alternative: 'GPIO_OUTPUT_PP'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:182:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:186:25: error: expected ')' before 'mask' DIRECT_MODE_INPUT(reg, mask); // allow it to float ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:63: note: in definition of macro 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                           ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:188:24: error: expected ')' before 'mask' r = !DIRECT_READ(reg, mask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:66: note: in definition of macro 'DIRECT_READ'

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                                              ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:166:14: warning: unused variable 'mask' [-Wunused-variable] IO_REG_TYPE mask IO_REG_MASK_ATTR = bitmask; ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:167:24: warning: unused variable 'reg' [-Wunused-variable] volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg; ^~~ In file included from C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:144:0: C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'void OneWire::write_bit(uint8_t)': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:59: error: 'PinName' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                       ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:205:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:59: note: suggested alternative: 'rename'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                       ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:205:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:205:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:205:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:27: error: expected ')' before 'mask' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:63: note: in definition of macro 'DIRECT_MODE_OUTPUT'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                           ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: error: 'STM_MODE_OUTPUT_PP' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: note: suggested alternative: 'GPIO_OUTPUT_PP'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: note: suggested alternative: '__section'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:206:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:208:26: error: expected ')' before 'mask' DIRECT_WRITE_HIGH(reg, mask); // drive output high ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:237:67: note: in definition of macro 'DIRECT_WRITE_HIGH'

define DIRECT_WRITE_HIGH(base, pin) digitalWriteFast((PinName)pin, HIGH)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:59: error: 'PinName' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                       ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:213:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:59: note: suggested alternative: 'rename'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                       ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:213:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:213:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:213:3: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:27: error: expected ')' before 'mask' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:63: note: in definition of macro 'DIRECT_MODE_OUTPUT'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                           ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: error: 'STM_MODE_OUTPUT_PP' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: note: suggested alternative: 'GPIO_OUTPUT_PP'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: note: suggested alternative: '__section'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:214:3: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); // drive output low ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:216:26: error: expected ')' before 'mask' DIRECT_WRITE_HIGH(reg, mask); // drive output high ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:237:67: note: in definition of macro 'DIRECT_WRITE_HIGH'

define DIRECT_WRITE_HIGH(base, pin) digitalWriteFast((PinName)pin, HIGH)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:200:14: warning: unused variable 'mask' [-Wunused-variable] IO_REG_TYPE mask IO_REG_MASK_ATTR = bitmask; ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:201:24: warning: unused variable 'reg' [-Wunused-variable] volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg; ^~~ In file included from C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:144:0: C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'uint8_t OneWire::read_bit()': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:55: error: 'PinName' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:55: note: suggested alternative: 'rename'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: error: 'STM_MODE_OUTPUT_PP' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:81: note: suggested alternative: 'GPIO_OUTPUT_PP'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:101: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                                                 ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:239:41: note: suggested alternative: '__section'

define DIRECT_MODE_OUTPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_OUTPUT_PP, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:233:2: note: in expansion of macro 'DIRECT_MODE_OUTPUT' DIRECT_MODE_OUTPUT(reg, mask); ^~~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:234:24: error: expected ')' before 'mask' DIRECT_WRITE_LOW(reg, mask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:67: note: in definition of macro 'DIRECT_WRITE_LOW'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:234:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:234:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(reg, mask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:236:25: error: expected ')' before 'mask' DIRECT_MODE_INPUT(reg, mask); // let pin float, pull up will raise ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:63: note: in definition of macro 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                           ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: error: 'STM_MODE_INPUT' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:236:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); // let pin float, pull up will raise ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: note: suggested alternative: 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:236:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(reg, mask); // let pin float, pull up will raise ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:238:23: error: expected ')' before 'mask' r = DIRECT_READ(reg, mask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:66: note: in definition of macro 'DIRECT_READ'

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                                              ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:41: error: 'digitalReadFast' was not declared in this scope

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:238:6: note: in expansion of macro 'DIRECT_READ' r = DIRECT_READ(reg, mask); ^~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:235:41: note: suggested alternative: 'digitalRead'

define DIRECT_READ(base, pin) digitalReadFast((PinName)pin)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:238:6: note: in expansion of macro 'DIRECT_READ' r = DIRECT_READ(reg, mask); ^~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:228:14: warning: unused variable 'mask' [-Wunused-variable] IO_REG_TYPE mask IO_REG_MASK_ATTR = bitmask; ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:229:24: warning: unused variable 'reg' [-Wunused-variable] volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg; ^~~ In file included from C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:144:0: C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'void OneWire::write(uint8_t, uint8_t)': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: error: 'PinName' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: note: suggested alternative: 'rename'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: error: 'STM_MODE_INPUT' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: note: suggested alternative: 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: note: suggested alternative: '__section'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:259:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:260:28: error: expected ')' before 'bitmask' DIRECT_WRITE_LOW(baseReg, bitmask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:67: note: in definition of macro 'DIRECT_WRITE_LOW'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:260:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(baseReg, bitmask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:260:2: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(baseReg, bitmask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'void OneWire::write_bytes(const uint8_t*, uint16_t, bool)': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: error: 'PinName' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: note: suggested alternative: 'rename'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: error: 'STM_MODE_INPUT' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: note: suggested alternative: 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: note: suggested alternative: '__section'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:270:5: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:271:31: error: expected ')' before 'bitmask' DIRECT_WRITE_LOW(baseReg, bitmask); ^ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:67: note: in definition of macro 'DIRECT_WRITE_LOW'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                                               ^~~

C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: error: 'digitalWriteFast' was not declared in this scope

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:271:5: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(baseReg, bitmask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:236:41: note: suggested alternative: 'digitalWrite'

define DIRECT_WRITE_LOW(base, pin) digitalWriteFast((PinName)pin, LOW)

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:271:5: note: in expansion of macro 'DIRECT_WRITE_LOW' DIRECT_WRITE_LOW(baseReg, bitmask); ^~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp: In member function 'void OneWire::depower()': C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: error: 'PinName' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:55: note: suggested alternative: 'rename'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                   ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: error: 'STM_MODE_INPUT' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:81: note: suggested alternative: 'DIRECT_MODE_INPUT'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: error: 'GPIO_NOPULL' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:97: note: suggested alternative: 'GPIO_INPUT_PU'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                                             ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: error: 'STM_PIN_DATA' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:68: note: suggested alternative: 'ADC_DR_DATA'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                                                ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: error: 'pin_function' was not declared in this scope

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ C:\Users\aemel.platformio\lib\OneWire_ID1\util/OneWire_direct_gpio.h:238:41: note: suggested alternative: '__section'

define DIRECT_MODE_INPUT(base, pin) pin_function((PinName)pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0))

                                     ^

C:\Users\aemel.platformio\lib\OneWire_ID1\OneWire.cpp:317:2: note: in expansion of macro 'DIRECT_MODE_INPUT' DIRECT_MODE_INPUT(baseReg, bitmask); ^~~~~ *** [.pio\build\genericSTM32F103C8\lib7cd\OneWire_ID1\OneWire.cpp.o] Error 1

jhortwo commented 3 years ago

Same problem for my code. Have you solved yet?

fpistm commented 3 years ago

Hi, OneWire library works fine with STM32 core using Arduino IDE. I think you used the maple core with PIO which does not include all those functions. One thing strange is that ARDUINO_ARCH_STM32 seems defined if you used the maple core. Don't know if it can be linked to the fact PIO doesn't update the maple core as the ARDUINO_ARCH_STM32 definition has been removed from it as it relies to the STM32 core. For ref: https://github.com/rogerclarkmelbourne/Arduino_STM32/pull/684 I think you should submit your issue to PIO: https://github.com/platformio/platform-ststm32/issues