bitluni / AudioVideoExample

23 stars 2 forks source link

Error when compiling #4

Open limaomerces opened 2 years ago

limaomerces commented 2 years ago

When trying to compile, it throws this error. obs- no changes were made to the code.

In file included from C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino:4:
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/AudioOutput.h: In member function 'void AudioOutput::init(AudioSystem&)':
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/AudioOutput.h:18:23: error: invalid conversion from 'int' to 'timer_alarm_t' [-fpermissive]
     config.alarm_en = 1;
                       ^
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/AudioOutput.h:19:26: error: invalid conversion from 'int' to 'timer_autoreload_t' [-fpermissive]
     config.auto_reload = 1;
                          ^
In file included from C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino:7:
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h: In member function 'void CompositeOutput::init()':
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h:165:32: warning: 'I2S_COMM_FORMAT_I2S_MSB' is deprecated [-Wdeprecated-declarations]
        .communication_format = I2S_COMM_FORMAT_I2S_MSB,
                                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\Tiago\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.3-RC1/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
                 from C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h:2,
                 from C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino:7:
C:\Users\Tiago\Documents\ArduinoData\packages\esp32\hardware\esp32\2.0.3-RC1/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:88:5: note: declared here
     I2S_COMM_FORMAT_I2S_MSB   __attribute__((deprecated)) = 0x01, /*!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to `I2S_COMM_FORMAT_STAND_I2S`*/
     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino:7:
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h: In member function 'void CompositeOutput::sendLine()':
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h:188:5: error: 'i2s_write_bytes' was not declared in this scope
     i2s_write_bytes(I2S_PORT, (char*)line, samplesLine * sizeof(unsigned short), portMAX_DELAY);
     ^~~~~~~~~~~~~~~
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample/CompositeOutput.h:188:5: note: suggested alternative: 'i2s_write_expand'
     i2s_write_bytes(I2S_PORT, (char*)line, samplesLine * sizeof(unsigned short), portMAX_DELAY);
     ^~~~~~~~~~~~~~~
     i2s_write_expand
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino: In function 'void setup()':
AudioVideoExample:54:3: error: 'rtc_clk_cpu_freq_set' was not declared in this scope
   rtc_clk_cpu_freq_set(RTC_CPU_FREQ_240M);              //highest cpu frequency
   ^~~~~~~~~~~~~~~~~~~~
C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample\AudioVideoExample\AudioVideoExample.ino:54:3: note: suggested alternative: 'rtc_clk_apb_freq_get'
   rtc_clk_cpu_freq_set(RTC_CPU_FREQ_240M);              //highest cpu frequency
   ^~~~~~~~~~~~~~~~~~~~
   rtc_clk_apb_freq_get
Foram encontradas múltiplas bibliotecas para "AudioSystem.h"
Usado: C:\Users\Tiago\Documents\Arduino\libraries\RCAAudioVideoExample
Não usado: C:\Users\Tiago\Documents\Arduino\libraries\DawnOfAV
Não usado: C:\Users\Tiago\Documents\Arduino\libraries\SpaceShooter
exit status 1
'rtc_clk_cpu_freq_set' was not declared in this scope
Eliasdbr commented 11 months ago

Same here. I use following:

regarding the config.alarm errors, those were a type problem:

- config.alarm_en = 1;
+ config.alarm_en = TIMER_ALARM_EN;
...
- config.auto_reload = 1;
+ config.auto_reload = TIMER_AUTORELOAD_EN;

But I couldn't solve much more. It seems that the i2s_write_bytes function is from an older library and it obsolete. But I can't seem to find which version.

If anyone has some clue, please, feel free to add to the topic

Eliasdbr commented 11 months ago

So I found in this issue from another repo: https://github.com/bitluni/DawnOfAV/issues/9#issuecomment-1114056322 that is a board version issue.

Downgrading to version 1.0.6 of the "esp32 by Espressif Systems" boards library solves the issue.

It would be nice though if we could upgrade the code to work with the latest version (currently at 2.0.11).