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

Setup dev container for ZSWatch development environment #203

Open
10 of 13 tasks
Kampi opened this issue Dec 15, 2023 · 8 comments
Open
10 of 13 tasks

Setup dev container for ZSWatch development environment #203

Kampi opened this issue Dec 15, 2023 · 8 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed No Hardware Required Can be developed within native_posix build.

Comments

@Kampi
Copy link
Collaborator

Kampi commented Dec 15, 2023

ToDo

  • Necessary extensions for VS Code
  • Necessary settings for VS Code
  • Necessary tools
    • AStyle (3.1 @jakkra is this the version from CI/CD?)
    • CodeChecker
    • Valgrind
  • POSIX build possible?
  • POSIX GUI
  • Bluetooth connection
  • Driver for Segger J-Link
  • Downloader for Segger tools
  • Debugger
  • Update documentation

Open issues

Unplugging the programmer and reconnecting with WSL brick USB in the container. Find a way to fix it
image

  • Windows Host + WSL + Container (Faulty)
  • Linux Host without Container (good)
  • Linux Host with Container (Faulty)

Shall we use GDB with the JLink GDB Server as replacement because TCP works better than USB?

Pro:

  • Container and host are completely separated and different hosts with the container are supported
  • No current or future issues with USB
  • Remote debugging will be possible (not sure if neccessary)
  • Higher variety of possible debugger without changing the project

Contra:

  • You need an additional software on your host
@Kampi Kampi added enhancement New feature or request No Hardware Required Can be developed within native_posix build. labels Dec 15, 2023
@jakkra
Copy link
Owner

jakkra commented Dec 15, 2023

AStyle 3.1 I got from apt-get

@Kampi Kampi added the help wanted Extra attention is needed label Dec 16, 2023
@Rayvert64
Copy link

Rayvert64 commented Jul 19, 2024

It seems like this is started, but I can't seem to find a branch/pull request for this. I can help set it up, I was going to do this anyways for my own setup of this project. 🙂

I'll just start on my end and do a pull request if need be 🙂.

@jakkra
Copy link
Owner

jakkra commented Jul 19, 2024

It seems like this is started, but I can't seem to find a branch/pull request for this. I can help set it up, I was going to do this anyways for my own setup of this project. 🙂

I'll just start on my end and do a pull request if need be 🙂.

Hi, this is the PR we abandoned #211

There where too many tradeoffs etc. making the container harder to use than just installing with the nRF tools (which IMO is easy).
What I remember, debugging requires starting a GDB server and having extra handling for it in VScode etc. and other quirks.

I'd say don't spend too much time on it, as it turned out quite messy for us to get it running well without tradeoffs.

@Kampi
Copy link
Collaborator Author

Kampi commented Jul 20, 2024

As @jakkra mentioned. But you can check out the branch on my GitHub if you want.

@Rayvert64
Copy link

Cool thanks @Kampi, but for now I'll just set it up on my side. :)

I'll try to rework it myself for now without looking at your solution unless I get desperate hahaha. If I have a good potential solution for most people, then I might do a pull request.

If I do one though, my guess is that it will probably be something more like template files?(We used to do this at my old workplace) Perhaps that could be a decent solution, as it puts a bit less of a burden of responsibility for you guys. Would you guys be open to that?

@jakkra
Copy link
Owner

jakkra commented Jul 22, 2024

@Rayvert64 I guess so, I don't have any specific idea how to do it.
IMO it's not really needed as I think using nRF toolchain is easy and reliable.
But if you can come up with something nice sure go ahead.

@Kampi
Copy link
Collaborator Author

Kampi commented Jul 22, 2024

@Rayvert64 what do you mean with template?

@Rayvert64
Copy link

I mean having files that the user has to copy/edit to set up their files. For example, a .env.template file and a devcontainer.json.template file. These two files you would track, but you wouldn't track the actual .env and devcontainer.jsonfiles. So the template files are a bit more of a "here's a starting point, most people who edit these should get a devcontainer to work."

I know it kinda defeats the "point" of a devcontainer in terms of you can "just start to code," but I don't think I've ever seen a devcontainer not need at least a bit of configuration to get working. 🫠

I don't use them for that purpose, though. I simply use them to keep my actual system "lean." 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed No Hardware Required Can be developed within native_posix build.
Projects
Status: No status
Development

No branches or pull requests

3 participants