10000 Teensy 4.0 and ATECC608 · Issue #36 · arduino-libraries/ArduinoECCX08 · GitHub
[go: up one dir, main page]

Skip to content
Teensy 4.0 and ATECC608 #36
Closed
Closed
@gannaramu

Description

@gannaramu

Hi Team,
I know this library was intended for NINO devices. but I am trying to use it with Teensy4.0. Initially, I faced the below issue

lib\ArduinoECCX08\src\ECCX08.cpp: In member function 'int ECCX08Class::receiveResponse(void*, size_t)':
lib\ArduinoECCX08\src\ECCX08.cpp:724:80: error: call of overloaded 'requestFrom(uint8_t, size_t, bool)' is ambiguous
   while (_wire->requestFrom((uint8_t)_address, (size_t)responseSize, (bool)true) != responseSize && retries--);
                                                                                ^
In file included from C:\Users\ganna\.platformio\packages\framework-arduinoteensy\libraries\Wire/Wire.h:26:0,
                 from lib\ArduinoECCX08\src\ECCX08.h:24,
                 from lib\ArduinoECCX08\src\ECCX08.cpp:22:
C:\Users\ganna\.platformio\packages\framework-arduinoteensy\libraries\Wire/WireIMXRT.h:90:10: note: candidate: uint8_t TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)
  uint8_t requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop);
          ^
C:\Users\ganna\.platformio\packages\framework-arduinoteensy\libraries\Wire/WireIMXRT.h:94:10: note: candidate: uint8_t TwoWire::requestFrom(int, int, int)
  uint8_t requestFrom(int address, int quantity, int sendStop) {
          ^
*** [.pio\build\teensy40\libc4b\ArduinoECCX08\ECCX08.cpp.o] Error 1

which I was able to fix by changing line724

  while (_wire->requestFrom((uint8_t)_address, (size_t)responseSize, (uint8_t)1) != responseSize && retries--);

But the Random number example always returns the same value :

--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
SN: 01234E5F5936FF28EE
Random number = 13312 
Random number = 13312
Random number = 13312

After a little bit of debugging, I realized the wakeup function returns zero after the first instance inside ECCX08.cpp at

int ECCX08Class::random(byte data[], size_t length)
{
if (!wakeup()) {
return 0;
}

Any help is appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0