Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 6 of 6

Thread: Teensy 4.0 Speeduino compile fail

  1. #1
    Junior Member
    Join Date
    Aug 2019
    Posts
    4

    Teensy 4.0 Speeduino compile fail

    Have tried both compiling the latest release and cloned git on windows 10 using Arduino IDE:
    https://github.com/noisymime/speeduino

    the error i get is:
    Code:
    In file included from \arduino_build_514094\sketch\src\FastCRC\FastCRCsw.cpp:38:0:
    
    \arduino_build_514094\sketch\src\FastCRC\FastCRC_tables.h:37:22: fatal error: pgmspace.h: No such file or directory
    
    compilation terminated.
    
    Error compiling for board Teensy 4.0.
    Which I can 'fix' by changing \src\FastCRC\FastCRC_tables.h:37
    from

    #include <pgmspace.h>

    to

    #include "pgmspace.h"

    and putting Arduino\hardware\teensy\avr\cores\teensy4\avr\pgms pace.h
    in the speeduino\src\FastCRC directory, which allows it to compile.
    Its not responsive over serial (sending S) or with tunerstudio beta (just hangs/says 'not connected').
    no luck getting platform.io to compile it yet.
    checked baudrates, com ports, tested teensy with other code, reinstalled the arduino/teensy environment, reinstalled tunerstudio, cleared EEPROM, tried different PCs and cannot figure out where im going wrong.
    Seems it may be tool chain related? Any insight would be appreciated.
    Last edited by milch; 08-29-2019 at 06:54 AM.

  2. #2
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,426
    You probably need to update the FastCRC stuff to the later versions of the source which look like they were changed for T4.0...
    https://github.com/FrankBoesing/Fast...stCRC_tables.h

    You might also want to see what else Frank changed in the FastCRC project

  3. #3
    Junior Member
    Join Date
    Aug 2019
    Posts
    4
    New FastCRC fails to compile. I'll see what I can figure out when I get home later.
    Code:
    Arduino: 1.8.9 (Windows 10), TD: 1.47-beta7, Board: "Teensy 4.0, Serial, Faster, US English"
    
    speeduino: In function 'void loop()':
    speeduino:429: warning: unused variable 'ignition7StartAngle' 
           int ignition7StartAngle = 0;
    
               ^
    
    speeduino:432: warning: unused variable 'ignition8StartAngle' 
           int ignition8StartAngle = 0;
    
               ^
    
    utils: In function 'uint32_t calculateCRC32(byte)':
    utils:69: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:74: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:89: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:93: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:108: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:112: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:127: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:131: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:140: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:144: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:165: error: no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'
           CRC32_val = CRC32.crc32(&raw_value, 1, false);
    
                                                       ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note: candidate: uint32_t FastCRC32::crc32(const uint8_t*, uint16_t)
    
       uint32_t crc32(const uint8_t *data, const uint16_t datalen);  // Alias CRC-32/ADCCP, PKZIP, Ethernet, 802.3
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:167:12: note:   candidate expects 2 arguments, 3 provided
    
    utils:170: error: no matching function for call to 'FastCRC32::crc32_upd(byte*, int, bool)'
             CRC32_val = CRC32.crc32_upd(&raw_value, 1, false);
    
                                                             ^
    
    In file included from C:\Users\D\Desktop\speeduino\speeduino\utils.ino:12:0:
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note: candidate: uint32_t FastCRC32::crc32_upd(const uint8_t*, uint16_t)
    
       uint32_t crc32_upd(const uint8_t *data, uint16_t len);   // Call for subsequent calculations with previous seed
    
                ^
    
    C:\Users\D\AppData\Local\Temp\arduino_build_731221\sketch\src/FastCRC/FastCRC.h:170:12: note:   candidate expects 2 arguments, 3 provided
    
    no matching function for call to 'FastCRC32::crc32(byte*, int, bool)'

  4. #4
    Junior Member
    Join Date
    Aug 2019
    Posts
    4
    Removed extra bool at the end of CRC32.crc32_upd(); and it compiles again and doesn't need the pgmspace.h cludge i had to use with the previous version, still the same issue though, Teensy seems hung and can't get anything out of the usb serial while the Speeduino sketch is running.

    Addendum:
    After a lot of digging i found this comment in the speeduino slack chat

    "
    noisymime 5:51 AM
    Yeah, so I'm just going to put the Teensy 4 aside for a little bit. It's got some semi-serious bugs in the serial comms that need to be worked out
    "
    7 days ago

  5. #5

  6. #6
    Junior Member
    Join Date
    Sep 2016
    Posts
    13
    I'm still working through developing the T4.0 code for Speeduino. Even if the comms stuff was working right now, I haven't done all the timers stuff yet so it won't actually run an engine. I'll get there, but not much I can do now until the serial issue is resolved.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •