Arduino pin mapping not defined for this board

Hello there,

I wanted to use the code of leokoppel(https://github.com/leokoppel/GP22), and I followed what he says to put the GP22 into the Arduino library. I also put the atomic.h(I got from C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\util) and io.h (from C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\avr) into the library as the IDE Arduino demandes. Then, when uploading, it will have the following errors:

In file included from C:\Program Files (x86)\Arduino\libraries\GP22/GP22.h:10:0,

                 from sketch\TDCtalk.h:8,

                 from C:\...\Documents\Arduino\test1\test1.ino:1:

C:\Program Files (x86)\Arduino\libraries\GP22/arduino_io.h:65:2: error: #error "Arduino pin mapping not defined for this board"

 #error "Arduino pin mapping not defined for this board"

  ^

exit status 1
Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)

I’m not quite sure about whether what I did was right or wrong: The GP22-DEMO-US-PCB is already connected to the 15-pin VGA Connetctor, and I tried to connect it with the ESP8266 NodeMCU V3.0 by looking at the GP22-DEMO-US-PCB Pinout(I didn’t use an Arduino Uno). In the code, it has the setup information:

* Test setup (Arduino Uno, through 5->3.3V level shift)
 *     10 -> SS
 *     11 -> MOSI(14)
 *     12 -> MISO
 *     13 -> SCK
 *     2  -> INT
 *     5V -> VCC
 *     GND -> GND
 *     4 -> DS18B20 temperature sensor (optional)
 */

I didn’t find a GPIO11 on the MCU so I chose the 14.Of course the MCU is powered by connecting to the PC. I’m sure that I have the latest version of ESP8266(2.5.0) and I’ve changed the type of card into “NodeMCU 1.0(ESP-12E Module)”. I tried it even without plugging in the USB and it has the same error. I found in the arduino_io.h that it needs the AVR_ATmega_X, which may be the problem, but not sure. So I wonder if I do need an Arduino Uno or is there anything I did wrong?

Thanks for any help

The GP22 library is intended for AVR CPUs only as it directly manipulates hardware registers.

Also copying the atomic.h to your ESP core doesn't mean the processor offers the same functionality.

You might be able to change the library to run on an ESP CPU but without modification you cannot use it on that platform.