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

Changes to do the following: #690

Closed
wants to merge 4 commits into from

Conversation

drensber
Copy link

  • Update Zephyr to v 3.6
  • Allow arguments to be passed to flash command
  • Add support for esp32 and Raspberry Pi Pico W hardware

  - Update Zephyr to v 3.6
  - Allow arguments to be passed to flash command

Signed-off-by: David M. Rensberger <[email protected]>
@drensber drensber requested a review from pablogs9 as a code owner March 11, 2024 21:09
@pablogs9
Copy link
Member

Would you mind to update also https://github.com/micro-ROS/micro_ros_zephyr_module to 3.6?

config/zephyr/generic/create.sh Outdated Show resolved Hide resolved
@pablogs9
Copy link
Member

CI is failing fro Zephyr

@drensber
Copy link
Author

CI is failing fro Zephyr

I think this is just because you requested changes... It looks to me like all of the automated CI passed, no?

@pablogs9
Copy link
Member

@drensber
Copy link
Author

No https://github.com/micro-ROS/micro_ros_setup/actions/runs/8239753062/job/22546953150?pr=690

Oh, sorry, I didn't see that there was a scrollbar in the GitHub "Some checks were not successful" window. ;)

@drensber
Copy link
Author

Is there a way to see exactly what part of a CI check failed?

The first one ends with:

Could not determine ref type of version: fatal: unable to access 'https://github.com/micro-ros/freertos_apps/': Could not resolve host: github.com

I have to assume that was just a transient network issue.

The others have logs that are so long that you have to download them to see the end, and at the end they look fine (as far as I can tell, anyway... it appears that they successfully built their image).

@drensber
Copy link
Author

@pablogs9
Copy link
Member

It shall be because nightly CI is ok

@drensber
Copy link
Author

It shall be because nightly CI is ok

Is there any way to force CI to run again? It could obviously be an intermittent outage (this CI wasn't run at the same time as your nightlies), and I can't really think of any other reason that would cause "Could not resolve host: github.com".

@pablogs9
Copy link
Member

Retriggered

@drensber
Copy link
Author

Retriggered

THanks. One of the failures went away as I expected, so I'll assume that was just a transient connectivity outage. The others happened again, so I'll have to take a deeper look.

@pablogs9
Copy link
Member

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

@drensber
Copy link
Author

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

OK, I'll give the zephyr module a try. I don't think we even knew about it. It's not even mentioned in the tutorials on micro.ros.org as far as I can see.

@drensber
Copy link
Author

drensber commented Mar 15, 2024

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

Pablo, could you provide a little more information about how the module is supposed to be installed and used? There are lots of different ways to use west to build zephyr. I personally think that for things like this it is most convenient to provide users with instructions for building "out of tree" so that they can try things out without messing up any existing build tree that they have. If the module is intended to be incorporated into an existing tree, I think the README should at least provide pointers to how to set up such a build tree and how to pull in the module.

I'm brushing up on Zephyr modules a little bit, but as far as I can tell, this repository doesn't conform to the definition of a module repository (which should contain a top-level directory called "zephyr" that contains a file called "module.yml"): https://docs.zephyrproject.org/latest/develop/modules.html

I'm sure I could futz around and copy various files into various places and get it to build, but I think the README should really explain how to do this (or at least provide pointers to Zephyr documentation that explains what to do).

@drensber
Copy link
Author

drensber commented Mar 18, 2024

It seems that installing host tools failed: https://productionresultssa2.blob.core.windows.net/actions-results/a1779061-dac5-4f1d-af6f-dc2b1f527ea6/workflow-job-run-fceeb432-9719-5700-0c51-e887f4ac21da/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-03-13T16%3A22%3A52Z&sig=UUjF6yn%2F%2FoXzcdXHbEPaR1lminKPfe7dD73%2F85Ls7Pw%3D&sp=r&spr=https&sr=b&st=2024-03-13T16%3A12%3A47Z&sv=2021-12-02

You can click on full log on the failed CI jobs

The reason that 5 of the CI jobs are failing is:

2024-03-13T20:43:17.0170651Z Zephyr SDK 0.16.3 Setup
2024-03-13T20:43:17.0171007Z 
2024-03-13T20:43:17.0213832Z Installing host tools ...
2024-03-13T20:43:20.8686738Z ERROR: Host tools installation failed
2024-03-13T20:43:20.8694405Z [ros2run]: Process exited with failure 30
2024-03-13T20:43:21.1664014Z ##[error]Process completed with exit code 30.

I suspect that some of the dependencies are different for SDK 0.16.3 than they were for 0.12.4. Is there any way I can see the Dockerfile that's being used for the CI build container?

@pablogs9
Copy link
Member

container:
image: ubuntu:jammy

@drensber
Copy link
Author

I tried updating the SDK to 0.16.5 just to see if that makes any difference in the host tools installation issue. Probably not, but the limited logging isn't giving me much to work with, so it seemed worth a try.

@drensber
Copy link
Author

Are we able to rerun CI? I don't really know of any other way to debug this, since there isn't much information provided about why the host tool install is failing, and I can't reproduce this problem in my own environment.

@pablogs9
Copy link
Member

pablogs9 commented Apr 1, 2024

Reruned

@drensber
Copy link
Author

drensber commented Apr 2, 2024

I am not able to get micro_ros_zephyr_module to build. I think that it's intended to be built as what the Zephyr documentation calls a "freestanding app" (which is different from a true "module", which is why I was confused). Either way, I get lots of errors when I even try to build it with the version 2.7 that you support. https://docs.zephyrproject.org/latest/develop/application/index.html

@drensber
Copy link
Author

drensber commented Apr 3, 2024

Are you able to consider these changes independently of whatever changes might be required in micro_ros_zephyr_module? We don't use micro_ros_zephyr_module to build microROS under Zephyr.

@pablogs9
Copy link
Member

pablogs9 commented Apr 4, 2024

I need to not break the CI to consider this

@drensber
Copy link
Author

drensber commented Apr 4, 2024

I'm going to close this PR. I already have a set of patches that allows me to build microROS with Zephyr 3.6. The issues with translating this into a PR are related to the CI process (which I can't replicate) and with micro_ros_zephyr_module (which I can't build at all... even with the versions of Zephyr and SDK that are supposed to be supported). I'd be happy to help in any way that I can, but I think it would be easier for the microROS maintainers to handle these integration issues that aren't really directly related to the Zephyr 3.6 upgrade.

@drensber drensber closed this Apr 4, 2024
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