Code Monkey home page Code Monkey logo

Comments (5)

ducalex avatar ducalex commented on May 28, 2024

It can be built for esp32-s3 (we have a target called ESPLAY-S3 and it used to build and work fine to my knowledge) but I think the current tree doesn't build with esp-idf 5.0+ so that might be a problem.

The changes needed are probably fairly minor, though.

from retro-go.

queenkjuul avatar queenkjuul commented on May 28, 2024

I have been thus far unable to build the esplay-s3 target on ubuntu 23.10, from the main branch or the 1.38.1 tag.

I will keep playing with it, but I'm pretty new to C and ESP32 programming so I'm not really sure I'm understanding what's wrong

My command line is ./rg_tool.py --target esplay-s3 build-img so I'm not sure why it's complaining about odroid-go

/home/qkj/esp32doom/retro-go/components/retro-go/rg_storage.c: In function 'rg_storage_init':
/home/qkj/esp32doom/retro-go/components/retro-go/targets/odroid-go/config.h:79:37: error: 'GPIO_NUM_22' undeclared (first use in this function); did you mean 'GPIO_NUM_42'?
 #define RG_GPIO_SDSPI_CS            GPIO_NUM_22
                                     ^~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_storage.c:84:27: note: in expansion of macro 'RG_GPIO_SDSPI_CS'
     slot_config.gpio_cs = RG_GPIO_SDSPI_CS;
                           ^~~~~~~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/targets/odroid-go/config.h:79:37: note: each undeclared identifier is reported only once for each function it appears in
 #define RG_GPIO_SDSPI_CS            GPIO_NUM_22
                                     ^~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_storage.c:84:27: note: in expansion of macro 'RG_GPIO_SDSPI_CS'
     slot_config.gpio_cs = RG_GPIO_SDSPI_CS;
                           ^~~~~~~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/targets/odroid-go/config.h:77:37: error: 'GPIO_NUM_23' undeclared (first use in this function); did you mean 'GPIO_NUM_43'?
 #define RG_GPIO_SDSPI_MOSI          GPIO_NUM_23
                                     ^~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_storage.c:86:24: note: in expansion of macro 'RG_GPIO_SDSPI_MOSI'
         .mosi_io_num = RG_GPIO_SDSPI_MOSI,
                        ^~~~~~~~~~~~~~~~~~
In file included from /home/qkj/esp32doom/retro-go/components/retro-go/config.h:17,
                 from /home/qkj/esp32doom/retro-go/components/retro-go/rg_system.h:12,
                 from /home/qkj/esp32doom/retro-go/components/retro-go/rg_display.c:1:
/home/qkj/esp32doom/retro-go/components/retro-go/rg_display.c: In function 'spi_init':
/home/qkj/esp32doom/retro-go/components/retro-go/targets/odroid-go/config.h:68:37: error: 'GPIO_NUM_23' undeclared (first use in this function); did you mean 'GPIO_NUM_43'?
 #define RG_GPIO_LCD_MOSI            GPIO_NUM_23
                                     ^~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_display.c:142:24: note: in expansion of macro 'RG_GPIO_LCD_MOSI'
         .mosi_io_num = RG_GPIO_LCD_MOSI,
                        ^~~~~~~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/targets/odroid-go/config.h:68:37: note: each undeclared identifier is reported only once for each function it appears in
 #define RG_GPIO_LCD_MOSI            GPIO_NUM_23
                                     ^~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_display.c:142:24: note: in expansion of macro 'RG_GPIO_LCD_MOSI'
         .mosi_io_num = RG_GPIO_LCD_MOSI,
                        ^~~~~~~~~~~~~~~~
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c: In function 'rg_audio_init':
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:97:53: error: 'I2S_MODE_DAC_BUILT_IN' undeclared (first use in this function); did you mean 'I2S_MODE_MASTER'?
             .mode = I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_DAC_BUILT_IN,
                                                     ^~~~~~~~~~~~~~~~~~~~~
                                                     I2S_MODE_MASTER
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:97:53: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [esp-idf/retro-go/CMakeFiles/__idf_retro-go.dir/build.make:188: esp-idf/retro-go/CMakeFiles/__idf_retro-go.dir/rg_storage.c.obj] Error 1
make[3]: *** Waiting for unfinished jobs....
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:107:19: error: implicit declaration of function 'i2s_set_dac_mode'; did you mean 'i2s_set_clk'? [-Werror=implicit-function-declaration]
             ret = i2s_set_dac_mode(RG_AUDIO_USE_INT_DAC);
                   ^~~~~~~~~~~~~~~~
                   i2s_set_clk
make[3]: *** [esp-idf/retro-go/CMakeFiles/__idf_retro-go.dir/build.make:90: esp-idf/retro-go/CMakeFiles/__idf_retro-go.dir/rg_display.c.obj] Error 1
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c: In function 'rg_audio_deinit':
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:193:36: error: 'I2S_DAC_CHANNEL_RIGHT_EN' undeclared (first use in this function); did you mean 'I2S_CHANNEL_FMT_RIGHT_LEFT'?
         if (RG_AUDIO_USE_INT_DAC & I2S_DAC_CHANNEL_RIGHT_EN)
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    I2S_CHANNEL_FMT_RIGHT_LEFT
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:194:13: error: implicit declaration of function 'dac_output_disable'; did you mean 'esp_intr_disable'? [-Werror=implicit-function-declaration]
             dac_output_disable(DAC_CHANNEL_1);
             ^~~~~~~~~~~~~~~~~~
             esp_intr_disable
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:194:32: error: 'DAC_CHANNEL_1' undeclared (first use in this function); did you mean 'I2S_CHANNEL_MONO'?
             dac_output_disable(DAC_CHANNEL_1);
                                ^~~~~~~~~~~~~
                                I2S_CHANNEL_MONO
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:195:36: error: 'I2S_DAC_CHANNEL_LEFT_EN' undeclared (first use in this function); did you mean 'I2S_CHANNEL_STEREO'?
         if (RG_AUDIO_USE_INT_DAC & I2S_DAC_CHANNEL_LEFT_EN)
                                    ^~~~~~~~~~~~~~~~~~~~~~~
                                    I2S_CHANNEL_STEREO
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:196:32: error: 'DAC_CHANNEL_2' undeclared (first use in this function); did you mean 'I2S_CHANNEL_MONO'?
             dac_output_disable(DAC_CHANNEL_2);
                                ^~~~~~~~~~~~~
                                I2S_CHANNEL_MONO
/home/qkj/esp32doom/retro-go/components/retro-go/rg_audio.c:197:9: error: implicit declaration of function 'dac_i2s_disable'; did you mean 'esp_intr_disable'? [-Werror=implicit-function-declaration]
         dac_i2s_disable();
         ^~~~~~~~~~~~~~~
         esp_intr_disable

from retro-go.

queenkjuul avatar queenkjuul commented on May 28, 2024

I tried using a docker container, installing esp-idf v4.3 per the esp-idf docs, then building retro-go per these docs.

I get similar but different errors, this time about undeclared functions called RTC_SLEEP_PD_*

from retro-go.

ducalex avatar ducalex commented on May 28, 2024

There was indeed an issue with esplay-s3 not being respected, it's now fixed in the current dev branch.

But to get a successful S3 build you will need esp-idf 5.0 (I think 4.4 maybe had early S3 support too?).

Following those steps in esp-idf 5.0 I get a successful build:

  1. Pull my recent changes and switch to the dev branch
  2. In components/retro-go/CMakeLists.txt near the top you need to comment the first COMPONENT_REQUIRES line and uncomment the second one.
  3. Build with rg_tool.py --target=esplay-s3 --no-networking launcher
  4. You'll get several warnings but they can be ignored.

from retro-go.

ducalex avatar ducalex commented on May 28, 2024

We'll track this issue at #98

from retro-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.