May be I just did not fined a good reference manual for the software, but it really frustrating me to try and understand from examples.
Is there some guide which take a developer step by step explaining the Softdevice functions? I don't mean each function behavior and parameters, but the way to use these functions, for example what is the bear minimum for compiling a beacon application? what are the needed functions and so on. I know that there are sample code, but as I said, I have no idea which function are really needed in MY application, which is not an evaluation board.
Same goes for PIP and other staff, for example, I want an input pin event to stop a timer, how to do it?, just browsing sample code takes a whole lot of time, and I did not find the reference manual clear enough.
So maybe it is just me, but I really miss a good tutorial document.
Is there one that I did not find?
For the softdevice, there is not a piece of documentation that will explain every function and what it does, other than in the specification on infocenter.
The softdevice contains a lot (!) of functions, many which are only used in corner cases, so I would not worry about learning all of them. Just look up in infocenter if you are wondering what a specific function does.
However, we do have a tutorial page here on DevZone. Especially if you are new to BLE, the 4 tutorials listed under "Bluetooth Low Energy" are particularly useful. The order of the tutorials are not very intuitive since we ported to the new DevZone a couple of weeks ago. You should go through them in the following order:
1: Bluetooth low energy Advertising, a beginners tutorial
2: Bluetooth low energy Services, a beginners tutorial
3: Bluetooth low energy Characteristics. a beginners tutorial
4: Bluetooth low energy central tutorial
Regarding the peripherals, there are a few tutorials on this as well, located under "software development kit" on the tutorial main page, such as the "Application Timer Tutorial".
If you look through this, and then take a look at the example in the SDK, located in
which is an interrupt example, you are on your way to the timer starting/stopping on pin interrupt scenario that you describe.
Good luck with the development. Let us know if there is anything else that you are missing.
Thanks, I will use these tutorials and see how it goes.