Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile sketches with Talkie when using Arduino ESP32 Core v3 #44

Closed
9 of 20 tasks
chache17 opened this issue Jul 2, 2024 · 2 comments
Closed
9 of 20 tasks

Comments

@chache17
Copy link

chache17 commented Jul 2, 2024

The type of board you are using.

ESP32 board

What IDE are you using?

Arduino IDE

Example(s) you have checked while hunting the bug.

  • Demo_Toms_Diner
  • Getting_Started
  • TalkieVocabularyDemo
  • USDistanceToVoice
  • Voltmeter
  • VoltmeterSayQ
  • Other - please specify below
  • I checked, if at least one of the examples was working.

Example(s) to reproduce the issue.

  • Demo_Toms_Diner
  • Getting_Started
  • TalkieVocabularyDemo
  • USDistanceToVoice
  • Voltmeter
  • VoltmeterSayQ
  • Other - please specify below

The library version you are working with.

What are the steps to reproduce this issue?

Preconditions:

  1. Arduino IDE 2.3.2
  2. ESP32 Core API v. 3.0.2 installed
  3. Talkie Library installed

Steps:

  1. Create new sketch with any of the demo examples from Talkie (only 2 were necessary).
  2. Verify the sketch

Results:
Compilation fails.

What happens?

Compilation errors are reported for several functions that different signature or are just non-existing.

The serial output which indicates the error happened.

/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp: In member function 'void Talkie::initializeHardware()':
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:326:44: error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
  326 |         sTalkieSampleRateTimer = timerBegin(1, APB_FREQUENCY_DIVIDER, true);
      |                                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/username/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal.h:84,
                 from /Users/username/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/Arduino.h:36,
                 from /Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:78:
/Users/username/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal-timer.h:35:13: note: declared here
   35 | hw_timer_t *timerBegin(uint32_t frequency);
      |             ^~~~~~~~~~
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:327:29: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)())'
  327 |         timerAttachInterrupt(sTalkieSampleRateTimer, timerInterrupt, true);
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/username/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal-timer.h:50:6: note: declared here
   50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
      |      ^~~~~~~~~~~~~~~~~~~~
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:328:9: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
  328 |         timerAlarmWrite(sTalkieSampleRateTimer, (getApbFrequency() / APB_FREQUENCY_DIVIDER) / SAMPLE_RATE, true);
      |         ^~~~~~~~~~~~~~~
      |         timerWrite
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:330:5: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
  330 |     timerAlarmEnable(sTalkieSampleRateTimer);
      |     ^~~~~~~~~~~~~~~~
      |     timerAlarm
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp: In member function 'void Talkie::terminateHardware()':
/Users/username/Documents/Arduino/libraries/Talkie/src/Talkie.cpp:449:9: error: 'timerAlarmDisable' was not declared in this scope
  449 |         timerAlarmDisable(sTalkieSampleRateTimer);
      |         ^~~~~~~~~~~~~~~~~

exit status 1

Compilation error: exit status 1

What were you expecting to happen?

Successful compilation, no errors.

Additional context.

The samples were compiled successfully after downgrading to ESP32 Core v 2.0.17 in Arduino IDE boards manager.

ESP32 Core API v.3.0.2 has removed or modified several functions used by Talkie, as seen in ESP's documentation: Migration from 2.x to 3.0
Additional info can be found here: 3.0.0 version Migration related issues

Final checklist for the bug report.

  • I have read the README.md file thoroughly
  • I have browsed the examples for one, that matches my use case.
  • The title of the issue is helpful and relevant.
@ArminJo
Copy link
Owner

ArminJo commented Sep 18, 2024

Should be fixed now :-)

@ArminJo ArminJo closed this as completed Sep 18, 2024
@chache17
Copy link
Author

Thank you for the great effort, will take a look in short 👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants