OK, like many people moving across from a different IDE/SOC environment, I'm finding navigating my way through setup and programming with Nordic SOC, even of simple tasks, pretty challenging.
Yes, there are videos and examples I can look at, but everything seems to be focussed on using nRF5 and SEGGER, which means most of the API's that are being used aren't compatible with the recommended setup of VS Code and nRF Connect.
So, whilst I'm pretty confident with programming PSoC/SOC (I have been using Cypress IC's and Cypress's IDE - PSOC Creator for the past 5 years), getting up to speed on the Nordic stuff is painfully slow. It seems you need a certain baseline level of understanding of most of the development environment before you can get started. Words like west, Zephyr, kConfig, etc get thrown about as if its common knowledge. But coming from the Cypress IDE, I can tell you that trying to get started with Nordic is a bit like being given a text book entirely in French and being told "look, here you go - its all in there" (no, I don't speak French, in case you were wondering).
As an example of the sort of process that a beginner needs to go through, I've been looking at the Buttons example in the nRF Connect code examples. In there, it has an example of how to set up a GPIO to interface to a button on the nRF52832 DK. There is an API that it calls: gpio_pin_configure_dt. Now, if I Google this, it takes me to the Zephyr project documentation, where there is about 20 pages of GPIO related API's. Great. But it would be nice to have a few training modules showing how to go about setting up GPIO, using these various API's, for some pretty common GPIO arrangements. That's where Cypress are much, much better - they really help you get up to speed using their system. If I look at some of the examples online (YouTube, for example), they appear to use an entirely different set of API's for GPIO related applications - stuff all starting with nrf_ and in some cases nrfx_
I then got a bit distracted by all the other API options available in the Zephyr documentation, and honed in on the ones for LEDs. I then disappear down a wormhole of "WTF" as I look at all the details telling me I need to add CONFIG statements (where? is it in the .config file under the zephyr directory for my application? Is it in the in the kconfig directory? Is it in the prj.conf file?) and then presumably I'm supposed to include the requiste #include statements in my code somewhere, but its not clear what I need to be including, and how I make sure my code knows there these are without putting the full directory listing in there.
Its that sort of process us begineers find ourselves going through for pretty much every single thing we want to learn how to do. And it takes days of frustrating filtering, and staring at lines of code, trying to get your head around why something doesn't compile or work, or whatever.
There really needs to be a dummy's guide to getting up and running to a certain level. I'm happy to pay to do an organised course, or have someone who knows how these things all work, to help step me through things initially so I can get a decent baseline of expertise, but even that sort of thing doesn't appear to be available.
Can anyone point in in the direction of some good, beginner friendly resources (either training courses, or online tuition, or whatever) to programming the nRF52 series, using VS Code and nRF Connect?
Cheers,
Mike