PaulStoffregen / Encoder

Quadrature Encoder Library for Arduino
http://www.pjrc.com/teensy/td_libs_Encoder.html
540 stars 239 forks source link

STM32H743ZI2 144 Nucleo compatibility issues #81

Open LevitateGamer opened 2 years ago

LevitateGamer commented 2 years ago

Hi, I am attempting to use the stm32h743zi2 and I am getting errors with the interrupts define and the do not use interrupts define in the code below I am trying to add the pins PF1 and PF0 to the code the defining value for this board is: ARDUINO_NUCLEO_H743ZI2 I am using the stm32duino libary for board manager

Code can be found here

LevitateGamer commented 2 years ago

UPDATE: when I add the correct pins and board it gives me this:


   68 |  volatile IO_REG_TYPE * pin1_register;
      |           ^~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:69:11: error: 'IO_REG_TYPE' does not name a type
   69 |  volatile IO_REG_TYPE * pin2_register;
      |           ^~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:70:2: error: 'IO_REG_TYPE' does not name a type
   70 |  IO_REG_TYPE            pin1_bitmask;
      |  ^~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:71:2: error: 'IO_REG_TYPE' does not name a type
   71 |  IO_REG_TYPE            pin2_bitmask;
      |  ^~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h: In constructor 'Encoder::Encoder(uint8_t, uint8_t)':
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:89:11: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
   89 |   encoder.pin1_register = PIN_TO_BASEREG(pin1);
      |           ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:89:27: error: 'PIN_TO_BASEREG' was not declared in this scope
   89 |   encoder.pin1_register = PIN_TO_BASEREG(pin1);
      |                           ^~~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:90:11: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
   90 |   encoder.pin1_bitmask = PIN_TO_BITMASK(pin1);
      |           ^~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:90:26: error: 'PIN_TO_BITMASK' was not declared in this scope
   90 |   encoder.pin1_bitmask = PIN_TO_BITMASK(pin1);
      |                          ^~~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:91:11: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
   91 |   encoder.pin2_register = PIN_TO_BASEREG(pin2);
      |           ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:92:11: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
   92 |   encoder.pin2_bitmask = PIN_TO_BITMASK(pin2);
      |           ^~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:99:31: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
   99 |   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
      |                               ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:99:54: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
   99 |   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
      |                                                      ^~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:99:7: error: 'DIRECT_PIN_READ' was not declared in this scope
   99 |   if (DIRECT_PIN_READ(encoder.pin1_register, encoder.pin1_bitmask)) s |= 1;
      |       ^~~~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:100:31: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
  100 |   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
      |                               ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:100:54: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
  100 |   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
      |                                                      ^~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:100:7: error: 'DIRECT_PIN_READ' was not declared in this scope
  100 |   if (DIRECT_PIN_READ(encoder.pin2_register, encoder.pin2_bitmask)) s |= 2;
      |       ^~~~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h: In static member function 'static void Encoder::update(Encoder_internal_state_t*)':
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:303:40: error: 'struct Encoder_internal_state_t' has no member named 'pin1_register'
  303 |   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
      |                                        ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:303:60: error: 'struct Encoder_internal_state_t' has no member named 'pin1_bitmask'
  303 |   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
      |                                                            ^~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:303:19: error: 'DIRECT_PIN_READ' was not declared in this scope
  303 |   uint8_t p1val = DIRECT_PIN_READ(arg->pin1_register, arg->pin1_bitmask);
      |                   ^~~~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:304:40: error: 'struct Encoder_internal_state_t' has no member named 'pin2_register'
  304 |   uint8_t p2val = DIRECT_PIN_READ(arg->pin2_register, arg->pin2_bitmask);
      |                                        ^~~~~~~~~~~~~
D:\Documents\Arduino\libraries\Encoder-master/Encoder.h:304:60: error: 'struct Encoder_internal_state_t' has no member named 'pin2_bitmask'
  304 |   uint8_t p2val = DIRECT_PIN_READ(arg->pin2_register, arg->pin2_bitmask);
      |             ```