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

boards/esp32: adds Heltec WiFi LoRa 32 V2 board definition #11265

Merged
merged 1 commit into from
Mar 25, 2020

Conversation

gschorcht
Copy link
Contributor

@gschorcht gschorcht commented Mar 25, 2019

Contribution description

This PR adds the board definition for Heltec WiFi LoRa 32 V2 board. Heltec WiFi LoRa 32 V2 is an ESP32 development board with 8 MB Flash that uses the EPS32 chip directly. It integrates

  • a SemTech SX1276 or SX1278 for LoRaWAN communication and
  • a SSD1306 128x64 OLED display connected via I2C.

Many GPIOs are broken out. Since the board is open source hardware, a number of clones are available.

Testing procedure

Application examples/lorawan can be used to test the board including the LoRaWAN functionality.

DRIVER=sx127x make BOARD=esp32-heltec-lora32-v2 -C examples/lorawan/ flash

Issues/PRs references

Depends on PR #13685

@aabadie aabadie added Type: new feature The issue requests / The PR implemements a new feature for RIOT Area: LoRa Area: LoRa radio support Area: boards Area: Board ports labels Mar 25, 2019
@@ -0,0 +1 @@
include $(RIOTBOARD)/common/esp32/Makefile.dep
Copy link
Contributor

Choose a reason for hiding this comment

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

Here you could also add (maybe it has other implication with esp stuff ?):

ifneq (,$(filter netdev_default,$(USEMODULE)))
  USEMODULE += sx1276
endif

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hm, ..., not sure what the most usual case is. Default network interface might be also esp_now or esp_wifi.

Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it either or?
With this you'd get both sx1276 and esp_now.

But this can be added when #12994 is merged so the user doesn't have to be careful not to forget to adding GNRC_NETIF_NUMOF=2, or else run into an assert failure when the pre-allocated netif slots run out.

@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from 071b31e to d793b7a Compare April 15, 2019 12:18
@gschorcht
Copy link
Contributor Author

@yegorich Squased.

@MrKevinWeiss
Copy link
Contributor

release status ping, should I change the milestone?

@gschorcht
Copy link
Contributor Author

@MrKevinWeiss Sorry for late answer, I'm quite busy at the moment. From my point of view, it is ready for release. I'm just waiting for a trigger to squash it.

1 similar comment
@gschorcht
Copy link
Contributor Author

@MrKevinWeiss Sorry for late answer, I'm quite busy at the moment. From my point of view, it is ready for release. I'm just waiting for a trigger to squash it.

@MrKevinWeiss MrKevinWeiss added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable labels Jun 17, 2019
@MrKevinWeiss
Copy link
Contributor

Does anyone else have this board? If not I can add it to the wishlist but then I don't think it will get in to this release. Please advise otherwise I will move the milestone.

@MrKevinWeiss
Copy link
Contributor

I think we can wait until next release for this one.

@kb2ma kb2ma modified the milestones: Release 2019.10, Release 2020.01 Oct 9, 2019
@fjmolinas
Copy link
Contributor

@gschorcht if you can run compile_and_test_for_board and post the output it would be enough to move forward with this one.

@gschorcht gschorcht requested a review from fjmolinas as a code owner February 20, 2020 08:10
@yegorich
Copy link
Contributor

@gschorcht I think, the only thing missing is board_init() in board.h.

@gschorcht
Copy link
Contributor Author

@gschorcht I think, the only thing missing is board_init() in board.h.

Yes, it will become a problem once I rebased it.

@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from 492e49c to 18e8b6b Compare February 20, 2020 16:38
@gschorcht
Copy link
Contributor Author

With the last commit, I added a small section on how to use the board's display.

@gschorcht gschorcht added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Feb 21, 2020
@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from ee9ec06 to 79c8f43 Compare March 9, 2020 06:10
@gschorcht
Copy link
Contributor Author

May I squash this PR?

@benpicco
Copy link
Contributor

More than a month has passed, I'd say it's safe to squash 😉

@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from 79c8f43 to b67c330 Compare March 23, 2020 15:54
@benpicco benpicco added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Mar 23, 2020
@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from b67c330 to 7ae4248 Compare March 23, 2020 16:58
@gschorcht gschorcht added the State: waiting for other PR State: The PR requires another PR to be merged first label Mar 24, 2020
@gschorcht
Copy link
Contributor Author

Squashed. But I have removed the USEMODULE += boards_common_esp32 from Makefile.dep. It will be pulled in by boards/common/esp32/Makefile.dep once PR #13685 is merged. We should wait for this cleanup.

Another question remains. @aabadie suggested to use sx1276 as netdev default.

ifneq (,$(filter netdev_default,$(USEMODULE)))
  USEMODULE += sx1276
endif

This would mean that it would pull in esp_now and sx1276. Would this be OK?

@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch 2 times, most recently from b0cf48b to 948c45d Compare March 24, 2020 10:48
@benpicco benpicco removed the State: waiting for other PR State: The PR requires another PR to be merged first label Mar 24, 2020
@benpicco
Copy link
Contributor

You can squash again 😉

fixup! boards/esp32: Heltec WiFi LoRa 32 V2 board added

fixup! boards/esp32: Heltec WiFi LoRa 32 V2 board added
@gschorcht gschorcht force-pushed the boards/esp32-heltec-lora32 branch from a88f4e9 to b16ff57 Compare March 24, 2020 13:23
Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

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

Just contains definitions for common code, very straightforward.

Enabling the sx1276 radio can be done when having more than one network interface enabled by default doesn't require additional user configuration.

@benpicco benpicco merged commit 9d4f7fb into RIOT-OS:master Mar 25, 2020
@gschorcht
Copy link
Contributor Author

@benpico Thanks for reviewing and merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: LoRa Area: LoRa radio support CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants