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

support for esp32-camera with freertos #176

Open
wants to merge 12 commits into
base: foxy
Choose a base branch
from

Conversation

DorBenHarush
Copy link

@DorBenHarush DorBenHarush commented Aug 11, 2020

  • Add the esp32-camera repository to /esp-idf/components.
  • The firmware creation is esp32 like:
    ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32

Signed-off-by: Dor Ben Harush [email protected]

*add the esp32-camera repository to /esp-idf/components.

Signed-off-by: Dor Ben Harush <[email protected]>
@donRaphaco
Copy link

donRaphaco commented Aug 12, 2020

relates to micro-ROS/freertos_apps/pull/26

config/freertos/esp32/create.sh Outdated Show resolved Hide resolved
@@ -3,7 +3,11 @@ pushd $FW_TARGETDIR >/dev/null
mkdir toolchain

pushd toolchain >/dev/null
git clone -b v4.1 --recursive https://github.com/espressif/esp-idf.git
git clone -b v4.0.1 --recursive https://github.com/espressif/esp-idf.git
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason for using IDF 4.0.1 instead of 4.1?

Copy link
Author

@DorBenHarush DorBenHarush Sep 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I haven't noticed that the IDF version has changed. I'll change it back.

@DorBenHarush
Copy link
Author

DorBenHarush commented Sep 30, 2020

Hi @pablogs9, the function rtc_gpio_desc causes the error(CI) because it must be supported in the menuconfig or directly in the sdkconfig.defaults file. Since the sdkconfig.defaults is outdated and menuconfig is not available during the check, The only way I see to pass the check is to update the sdk as I did here

@pablogs9
Copy link
Member

I have a question here, is possible to keep using the ESP32 micro-ROS port without the camera? Which board is the one with the camera integrated?

@DorBenHarush
Copy link
Author

Yes, it is possible to use ESP32 micro-ROS port without the camera but you have to make sure that SPIRAM is not enabled.

@pablogs9
Copy link
Member

We should make this ESP32+camera port as an option of the simple ESP32 or make it a separate port. Is a different hardware board?

@DorBenHarush
Copy link
Author

esp32-camera has the same hardware as a normal esp32, the difference is that instead of normal pins some of them are connected to the cmaera and to the SD card. every code that runs on a normal esp32 should run on esp32-camera with no problems. So I think it should remain as an extension of the esp32. I wrote the steps of how to use the camera board in the README file

@pablogs9
Copy link
Member

What about leaving the port as similar as possible and writing in the README the instructions to enable the camera operation?
I mean, for example explaining in the readme that this line and this one are necessary.

My point is not to enable features that are not necessary for the ESP32 without a camera.

What do you think @DorBenHarush @ralph-lange @jamoralp?

@DorBenHarush
Copy link
Author

these are notes I added to the README in config/freertos/esp32

`# Notes for ESP32-CAMERA

  • SPIRAM is requierd only for ESP32-CAMERA and can cause a fatal error in ESP32 (Enable in menuconfig Component config > ESP32-specific OR add CONFIG_ESP32_SPIRAM_SUPPORT=y to sdkconfig.defaults file).
  • Make sure that rtc_gpio_desc array is supported in menuconfig: Component config > Driver configurations > RTCIO configuration (set to TRUE)
  • Choose your camera pins configuration in menuconfig Camera configuration > Camera pins. (BOARD_ESP32CAM_AITHINKER is default).`
    I think that this line can stay.
    I'll go over my workflow to add more to the notes above (like this line).

- Make sure that `rtc_gpio_desc` array is supported in `menuconfig: Component config > Driver configurations > RTCIO configuration` (set to TRUE)
OR write this line `CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC=y` to `sdk.defaults`.
- Choose your camera pins configuration in `menuconfig Camera configuration > Camera pins`. (`BOARD_ESP32CAM_AITHINKER` is default).
- In order to view the images you will need to create a cv_bridge:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to see this Python app as a .py file included in the freertos_apps app specific folder


# Notes for ESP32-CAMERA

- SPIRAM is requierd only for ESP32-CAMERA and can cause a fatal error in ESP32 (Enable in `menuconfig Component config > ESP32-specific` OR add `CONFIG_ESP32_SPIRAM_SUPPORT=y` to `sdkconfig.defaults` file).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding this, is possible to explain it a README.md inside the freertos_apps app folder?

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

Successfully merging this pull request may close these issues.

3 participants