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

Downintegrate changes from the OpenMRNIDF repository #771

Merged
merged 6 commits into from
Feb 4, 2024

Conversation

balazsracz
Copy link
Collaborator

This PR pulls in changes that happened in the OpenMRNIDF repository. Most of these were authored by Mike Dunston.

  • All instances of ifdef ESP32 replaced with ESP_PLATFORM
  • Removed conditional code for supporting ESP-IDF v3.x and v4.x
    Only ESP-IDF v5 and up is now supported
  • new feature for OPENMRN_HAVE_SOCKET_FSTAT
  • fixed compile errors around spiram
  • refactored definition of ADC pin into a separate class in a separate file
  • fixes around printf PRIu32.
  • do not print error messages on CAN overflow
  • fix to not start the hub twice in the wifi manager
  • Remove deprecated hardware can driver
  • Adds I2C driver written by Mike Dunston for the ESP32.

- All instances of ifdef ESP32 replaced with ESP_PLATFORM
- Removed conditional code for supporting ESP-IDF v3.x and v4.x
  Only ESP-IDF v5 and up is now supported
- new feature for OPENMRN_HAVE_SOCKET_FSTAT
- fixed compile errors around spiram
- refactored definition of ADC pin.
- fixes around printf PRIu32.
- do not print error messages on CAN overflow
- fix to not start the hub twice in the wifi manager
#else
#include <esp32/rom/gpio.h>
#endif
#include <soc/adc_channel.h>
Copy link
Collaborator

Choose a reason for hiding this comment

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

this line likely can be removed as part of the split of ADC to it's own file. It looks like I missed this during the split.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

done

Copy link
Collaborator Author

@balazsracz balazsracz Feb 4, 2024

Choose a reason for hiding this comment

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

I will also remove the ADC macro from below.

@@ -716,7 +714,7 @@ static void twai_isr(void *arg)
{
BaseType_t wakeup = pdFALSE;
uint32_t events = twai_hal_get_events(&twai.context);
ESP_EARLY_LOGV(TWAI_LOG_TAG, "events: %08x", events);
ESP_EARLY_LOGV(TWAI_LOG_TAG, "events: %04x", events);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would it make sense to use PRIx32 here? I haven't test it but I think it should work.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

done

@atanisoft
Copy link
Collaborator

Thanks @balazsracz for taking this on, I had a local branch to do similarly but held off on pushing it upstream due to various commitments.

One thing to note, we should publish a "final" OpenMRNLite version prior to merge since arduino-esp32 2.x has a hard dependency on IDF v4.4.x and arduino-esp32 3.x is still under development using IDF v5.1.x. We might consider bumping the OpenMRNLite version when the IDF v5.x dependency version has been released.

",discard:%" PRIu32 ",missed:%" PRIu32 ",lost:%" PRIu32 ") "
"TX:%" PRIu32 " (pending:%zu,suc:%" PRIu32
",fail:%" PRIu32 ") "
"Bus (arb-err:%" PRIu32 ",err:%" PRIu32 ",state:%s)",
Copy link
Collaborator

Choose a reason for hiding this comment

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

https://github.com/atanisoft/OpenMRNIDF/pull/7/files#diff-88ee088b2bbc83933050861edc298188dbc20d3dbc31bf2fa003d9ae7c989603 has changed all of the types for these values from uint32_t to size_t which cleans up this log statement considerably.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Let's do that in a different round. I have not reviewed the 5.1.0 changes yet.

Copy link
Collaborator

Choose a reason for hiding this comment

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

That's fine, the bulk of the changes you have already pulled in, it's mostly further cleanup and adjustments for 5.1/5.2 and those are minimilar IIRC

@@ -35,10 +35,6 @@
// Ensure we only compile this code for the ESP32 family of MCUs.
#if defined(ESP32)
Copy link
Collaborator

Choose a reason for hiding this comment

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

missed update from ESP32 -> ESP_PLATFORM

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

done

@@ -37,12 +37,9 @@

// Ensure we only compile this code for the ESP32 family of MCUs and that the
// ESP-IDF version is supported for this code.
Copy link
Collaborator

Choose a reason for hiding this comment

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

we can truncate this comment after MCUs.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

done

@@ -43,7 +43,7 @@
#include <string.h>
#include <unistd.h>

#ifdef ESP32
#ifdef ESP_PLATFORM
#include "bootloader_hal.h"
#else
#include "freertos/bootloader_hal.h"
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think we should modify libify.sh to create the freertos directory so we can consolidate these include paths, I think we had discussed this but haven't implemented a fix yet

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Filed #778

@balazsracz balazsracz merged commit 8c7cc44 into master Feb 4, 2024
4 checks passed
@balazsracz balazsracz deleted the bracz-idf-downintegrate branch February 4, 2024 15:12
balazsracz added a commit that referenced this pull request Feb 4, 2024
* master:
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
  Fixes file comment.
  Adds an application (hub_test) for testing the throughput of a hub or a CAN-bus (#762)
  Adds a helper function to decode a 14-bit 9.2.1.1 address into address type and raw address. (#766)
  Fix broken test.
  Accessory packet refactoring and POM support (#764)
  Adds support for Offset(n) attribute in the CDI  (#765)
  Adds local loopback to TractionThrottle. (#756)
  Fix test flakiness.
  Fix compile error on FdUtils under freertos.
balazsracz added a commit that referenced this pull request Feb 4, 2024
* bracz-idf-downintegrate:
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Fix comments.
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
  Fixes file comment.
  Adds an application (hub_test) for testing the throughput of a hub or a CAN-bus (#762)
  Adds a helper function to decode a 14-bit 9.2.1.1 address into address type and raw address. (#766)
  Fix broken test.
  Accessory packet refactoring and POM support (#764)
  Adds support for Offset(n) attribute in the CDI  (#765)
  Adds local loopback to TractionThrottle. (#756)
  Fix test flakiness.
  Fix compile error on FdUtils under freertos.
balazsracz added a commit that referenced this pull request Feb 5, 2024
…-merge

* bracz-esp-compiler-warnings:
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Fix comment.
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Fix comments.
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
balazsracz added a commit that referenced this pull request Feb 5, 2024
* bracz-tmp-compile-fix-merge:
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Fix comment.
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Fix comments.
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
balazsracz added a commit that referenced this pull request Feb 5, 2024
* bracz-stat-max:
  Latency test with maximum stats and custom process evaluation (#773)
  Fixes data type of max.
  Fix comment.
  Adds documentation comment to latency test consumer.
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Fix comment.
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Fix comments.
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
balazsracz added a commit that referenced this pull request Feb 5, 2024
* master:
  Fix esp32 select race conditions. (#780)
  Latency test with maximum stats and custom process evaluation (#773)
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
  Fixes file comment.
  Adds an application (hub_test) for testing the throughput of a hub or a CAN-bus (#762)
  Adds a helper function to decode a 14-bit 9.2.1.1 address into address type and raw address. (#766)
  Fix broken test.
  Accessory packet refactoring and POM support (#764)
balazsracz added a commit that referenced this pull request Jun 21, 2024
…t-hub-router

# By Balazs Racz (26) and others
* 'master' of github.com:bakerstu/openmrn: (28 commits)
  Fix build of esp8266 train implementation.
  Removes unnecessary includes that might not exist on an embedded compiler.
  Fix compilation of TempFile under esp8266.
  Add libatomic to esp8266 nonos target.
  Fix compile errors in time_client app.
  Fixes in file memory space: (#786)
  Change startup state to stopped. (#784)
  Fixes write code for spiflash. (#782)
  Handles bus passive in TivaCan. (#781)
  Update libify to support IDF export with symlinks (#770)
  Fix esp32 select race conditions. (#780)
  Latency test with maximum stats and custom process evaluation (#773)
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
  Fixes file comment.
  ...

# Conflicts:
#	src/utils/constants.cxx
#	src/utils/sources
balazsracz added a commit that referenced this pull request Jun 21, 2024
* bracz-direct-hub-router: (35 commits)
  High-performance hub component for dealing with many sockets and high throughput (#760)
  Fix test build.
  Fixed comment and adds a todo.
  Remove unnecessary log.
  Fix comments and reduce unnecessary log level.
  FIx comments.
  Fix build of esp8266 train implementation.
  Removes unnecessary includes that might not exist on an embedded compiler.
  Fix compilation of TempFile under esp8266.
  Add libatomic to esp8266 nonos target.
  Fix compile errors in time_client app.
  Fixes in file memory space: (#786)
  Change startup state to stopped. (#784)
  Fixes write code for spiflash. (#782)
  Handles bus passive in TivaCan. (#781)
  Update libify to support IDF export with symlinks (#770)
  Fix esp32 select race conditions. (#780)
  Latency test with maximum stats and custom process evaluation (#773)
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Upintegrate changes from the OpenMRNIDF repository (#771)
  ...
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.

2 participants