Not yet but should be easy: connect the debugger while reading all GPIO inputs and see the GPIO inpit value to figure out which pin for each button.Zelenaar said:Does somebody know to which GPIO the buttons are connected in the sw102 ?
Nick said:DFU is working!
Normal Startup (SW102 advertising UART over BLE):
normal_start.png
Bootloader Mode (Hold Power + M for >5 seconds)
bootloader.png
Transfer of new firmware:
transfer.png
Very nice Nick!Nick said:DFU is working
casainho said:Bluetooth license fee $4000
So, seems we have to pay a license fee of $4000 to use Bluetooth. Maybe this is the reason why cheap SW102 generic on sites like Ebay or AliExpress come with a firmware without Bluetooth?
What should we do? Pass this responsibility to user and use the Nordic Bluetooth id while doing the development?
casainho said:The device name is "Tophmi_8904". Topology Human Machine Interface, since the company is Topology Tech?? -- I don't see it listed on Bluetooth site..... or maybe I didn't search correctly??
Nick said:You can find the bootloader repository on my account as a start:
https://github.com/lowPerformer/SW102_Bootloader
But I'm afraid this is not as simple as flashing a hex. The bootloader needs also the Softdevice S130 v2.0.1 present. Don't know which Softdevice is on the original SW102. If you ask me, I would not spend too much time trying :wink:
casainho said:Bluetooth license fee $4000
...
What should we do?...
Nick said:casainho said:Bluetooth license fee $4000
...
What should we do?...
1) Don't panic! :wink:
This project is open source none commercial. We are no company and do not sell any products. It will never happen that the Bluetooth SIG rings the door bell of end users to collect some license fees!
Those fees are for companies selling Bluetooth products and putting the official BLE Logo on those product (guess why SW102 device/packaging do not show any BT logo!).
What I maybe would not do is using some UUID of a company. This company then maybe hunts you down for using this without permission. But to be honest, this is a so tiny project it just isn't relevant!
What maybe would be a problem is (as already announced) someone sells "our" SW102+Bootloader to endusers commercially. This is A) Not the problem of this project but of the shop selling those devices and
B) we could develop a bootloader with UART only based on the Nordic bootloader structure. No Bluetooth, no risk. The Enduser can update this bootloader then with a Bluetooth ready version over the motor cable (just like the TSDZ2 motor) at home with light off and shutters down!
So if you ask me: Just go on with development!
Ok, thanks. That is a good value!!Nick said:The Device Pack is for debugging view only. If you install the pack, you can easily select peripheral registers like ADC, GPIO, ... and when halted you get a extra view of those registers:
Unbenannt.jpg
casainho said:The way I setup debug tools on Eclipse is kind of old. I just use the makefile and call it on command line (although can easily be called with CTRL + B)...
You did very well, I must say. I never went to a so detailed way to debug and I never written a so good instructions!!Nick said:casainho said:The way I setup debug tools on Eclipse is kind of old. I just use the makefile and call it on command line (although can easily be called with CTRL + B)...
Our SW102 firmware and bootloader are based on the nrf5 SDK, so all the build is done by Makefile too and is not managed by Eclipse. You can also call make on the command line but I create Build Targets in Eclipse, so I can start the Makefile targets I need just with a click:
buildtargets.jpg
Main purpose of the GNU MCU package is the easy setup of openOCD debugging.