kscheff / BlueBasic

BASIC interpreter for CC2540 and CC2541 Bluetooth LE chips
11 stars 9 forks source link

Can't connect to console characteristic in this fork #8

Closed 0xFACE closed 5 years ago

0xFACE commented 6 years ago

Hi, I wrote small utility to connect BlueBasic console from linux (https://github.com/0xFACE/bbconsole).

It worked with aanon4 (Tim Wilkinson) BlueBasic repo. But it doesn't work with your fork. I checked primary characteristics on both version with gatttool:

aanon4:

[20:91:48:4D:D3:F4][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0018 uuid: f000ffc0-0451-4000-b000-000000000000
attr handle: 0x0019, end grp handle: 0x002b uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x002c, end grp handle: 0x0031 uuid: 25fb9e91-1616-448d-b5a3-f70a64bda73a
attr handle: 0x0032, end grp handle: 0xffff uuid: 0000180f-0000-1000-8000-00805f9b34fb

your fork:

[F0:C7:7F:1F:5D:36][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0018 uuid: f000ffc0-0451-4000-b000-000000000000
attr handle: 0x0019, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb

Characteristic uuid: 25fb9e91-1616-448d-b5a3-f70a64bda73a is missing. I use handle: 0x0031 to write commands. Is this correct ? How can I connect to console ?

Thanks for your support.

kscheff commented 6 years ago

Something is going wrong when discovering all services when using Android, probably the same issue under Linux. They share the same Bluetooth stack. Under iOS everything works as expected.

Under Android it sometimes works when trying to discover several times and in between switching Bluetooth off/on.

Am 14.01.2018 um 16:06 schrieb Piotr notifications@github.com:

Hi, I wrote small utility to connect BlueBasic console from linux (https://github.com/0xFACE/bbconsole).

It worked with aanon4 (Tim Wilkinson) BlueBasic repo. But it doesn't work with your fork. I checked primary characteristics on both version with gatttool:

aanon4:

[20:91:48:4D:D3:F4][LE]> primary attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb attr handle: 0x0010, end grp handle: 0x0018 uuid: f000ffc0-0451-4000-b000-000000000000 attr handle: 0x0019, end grp handle: 0x002b uuid: 0000180a-0000-1000-8000-00805f9b34fb attr handle: 0x002c, end grp handle: 0x0031 uuid: 25fb9e91-1616-448d-b5a3-f70a64bda73a attr handle: 0x0032, end grp handle: 0xffff uuid: 0000180f-0000-1000-8000-00805f9b34fb your fork:

[F0:C7:7F:1F:5D:36][LE]> primary attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb attr handle: 0x0010, end grp handle: 0x0018 uuid: f000ffc0-0451-4000-b000-000000000000 attr handle: 0x0019, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb

Characteristic uuid: 25fb9e91-1616-448d-b5a3-f70a64bda73a is missing. I use handle: 0x0031 to write commands. Is this correct ? How can I connect to console ?

Thanks for your support.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

0xFACE commented 6 years ago

I tried the following files:

BlueBasic-BlueBattery.hex
BlueBasic-BlueSolar.hex
BlueBasic-BlueSteca.hex
BlueBasic-CC2541.hex

Only BlueBasic-CC2541.hex seems to be affected.

kscheff commented 6 years ago

So the other builds work fine? I have not used the general -CC2541 builds for some time, since my projects use the other builds. So it might be that the defines in the project settings or switches in the source code are buggy, wrong. The hex files are also outdated, they do not reflect the latest code base.

0xFACE commented 6 years ago

Yes, at least the ones below work properly:

BlueBasic-BlueBattery.hex
BlueBasic-BlueSolar.hex
BlueBasic-BlueSteca.hex
TheSmartGerman commented 6 years ago

Will it be possible to update the hex file(s)?

fanoush commented 6 years ago

Will any of those working BlueBasic-Blue*.hex firmwares work on generic/clone HM-10/CC41 module? Or do I need the BlueBasic-CC2541.hex one? Or maybe none will work?

I have generic CC2541 based CC41/HM-10 module from ebay without crystal. I managed to reflash it with CCLoader to latest original HMSoft firmware and it works just fine including LEDs and everything. Is there a chance any of those BLueBasic firmwares will work on the module when flashing BlueBasic .bin file via CCLoader? Thanks.

fanoush commented 5 years ago

just answering myself - Bluebasic does not work for me with HM-10 clone without crystal, it does however work with cheap JDY-08 module (the one with the black CF126 crystal on board). One gotcha with CCLoader is that one cannot flash bin file directly but when producing bin from hex via https://sourceforge.net/projects/hex2bin/ the result works with CCLoader. I'm currently use BlueSolar version as the latest hex for CC2541 generic one in this fork is not working properly but I also used older generic version before 1.4.2 protocol merge and that one worked fine too.

kscheff commented 5 years ago

I have not payed any attention to the generic version. I only use the BlueBattery and BlueSolar versions of the serial_fix branch, both working on the JDY-08 board. Btw there are cheaper JDY-08 Versions now available omitting the 32 KHz crystal. This crystal is needed for using power management sleep modes. If you want to do away wit that, you probably need to configure the project without sleep mode, I have no experience and need for this.

fanoush commented 5 years ago

Oh, great, many thanks for pointing me to updated branch, I was using master. As for JDY-08 I did not see one without crystal yet however I saw some seller selling JDY-10 as JDY-08 (e.g. this one which is same as this one). JDY-10 looks almost identical but has no visible crystal and is not CC2541 based. It uses Telink TLSR8266. Nice chip but there is little/no info how to flash in via its SWS interface so beware. However it is heavily used in various fitness trackers and iBeacons (aka Lenze ST17H25, Mcube MX1003) so would be nice to figure this one out. sdk with eclipse and gcc is out there but so far no way how to flash it without telink usb debug board. CC2541 is great in this regard, too bad it is 8051 and needs IAR.

kscheff commented 5 years ago

I assume the serial_fix branch does the trick, so I close it here.