Im not entirely new to the embedded world, been programming since I was a kid and been working on embedded projects for 3 years now.. In fact the few first steps I can take with relative ease.. I can build projects, debug and program the device with the given examples. The problem is (my best guess anyway) that I come from a different world, Microchip.. and really want to get into the ARM wolrd and Nordic Semi really seems to fit all my RF and development needs. Powerful and affordable CPUs + Sweet RF transceivers make me drool over the posibilities..
I can see the potential, its obvious.. BUT I CANT EVEN GET A REGISTER CORRECTLY CONFIGURED.. I've been at it for 4 days now, in a row.. I can see layers upon layers of abstraction and middleware and nowhere to be found is an explanation in code "Pass 0 to this function to configure this pin as an output".. how am I gonna get into BLE and Bluetooth 5 if I cant even turn on a LED ffs >:(
I know the learning curve and all that but guys.. hire a youtuber to make a tutorial series or something.. explain what to pass to the drivers and all the abstraction layers.. I have to pass a custom "nrf_gpio_config" <- what is that? I thought the purpose of a driver was to make the thing more understandable, but no where in the documentation you guys explain what type of argument your functions are expecting..
Compare that to:
PORTA.PORTA1 = 0 //Output
LATA.LAT1 = 1 //Now its on
Pardon my rant.. I really want to understand how the ARM world works, specially since i saw the 9160 I really like what you guys at Nordic are doing.
Did you already take a look at the examples? They're pretty easy to follow IMO.
Check the Blinky example, it shows exactly what you want to do. Regarding the "layers upon layers" of abstraction, I think Nordic did a pretty good job providing a lot of libraries and HALs to work with their chips. If you want to really understand everything on a register level, read the product specification and start from there.
Be aware that you will have to use or write your own HALs eventually, and to me that's just unnecessarily trying to reinvent the wheel.
Yes, I have really read the examples, and the current tutorials are easy to follow, that's not the point.. the point is its frustrating not knowing what to pass as an argument to "nrf_gpio_cfg()" in order to configure it (every single argument is a "nrf" custom type, and I have not found information about these types apart from reading the numerous imports).. A tutorial like blinky should explain this, and it doesnt! It just lists the procedure, just like any other tutorial from nordic.. and its not supposed to, its supposed to teach how to use it, including the libraries and HALs. I do not want to write my HALs or drivers but I want to learn how to use theirs.
Please I want help, not starting a discussion
Honestly, every function in the nrf_gpio header file is explained thoroughly. There's documentation for every function and it's as clear as it gets, so I'm not sure exactly what you're asking.
If you haven't seen the documentation, you can find it here.
What does the header refer to when they are taling about a "task" is it similar to an interrupt?
I just searched for "task" and "interrupt" in the nrf_gpio.h header file and found nothing. What are you talking about?