What is the default bluetooth address? It's possible that any random bluetooth address might not work. Try changing address value only in the LSB.Update and a new problem! So I'm still working on getting my JBL Xtreme working. I recently bought a 2nd unit off the bay for parts. I was able to pull the firmware off this 2nd unit and flash it to my original board. The original speaker is now fully functional! Also the "broken" speaker just needed a little adhesive and is also 100% working now.
Problem is that both units now have the same bluetooth MAC address but when I change the bluetooth address in PSTool, the speaker will no longer power on. If I revert it back, it works fine again. Ive tried just changing a digit here and there as well as changing the address back to the one from my original .psr backup but no luck. Do I perhaps need to edit the firmware backup so it has a unique bluetooth address and re-flash? Thanks for any suggestions.
Default address of the working module is 004279f1181b. Sorry I'm unsure what the "LSB" is. I see NAP, UAP and LAP. But I've tried changing a couple digits in the LAP.What is the default bluetooth address? It's possible that any random bluetooth address might not work. Try changing address value only in the LSB.
That said I'm thinking the address is somehow tied to the firmware and there is some sort of check at start up. For example, if I change the "user friendly" name in PSTool, the speaker will not boot. When I change it back, it boots right up.
Here is the working firmware file in case it's helpful. Appreciate the input as always, I feel like I'm so close!
Attachments
Yes LAP is the one I meant. If the address is 004279f1181b, just try changing only the last digit (for example, 004279f1181a or 004279f1181c). But if the thing doesn't boot up even if you just change the user friendly name, it probably checks in the firmware for an exact bluetooth name or address. If that is indeed the case I'm not sure what to suggest.Default address of the working module is 004279f1181b. Sorry I'm unsure what the "LSB" is. I see NAP, UAP and LAP. But I've tried changing a couple digits in the LAP.
That said I'm thinking the address is somehow tied to the firmware and there is some sort of check at start up. For example, if I change the "user friendly" name in PSTool, the speaker will not boot. When I change it back, it boots right up.
Here is the working firmware file in case it's helpful. Appreciate the input as always, I feel like I'm so close!
Hello I've got a csr8760 board : https://a.aliexpress.com/_mPCNasI
The schematics are available on the above page.
I try to connect a csr spi USB from Aliexpress to that board (4spi terminals + 3.3v + GND) but sptool doesn't detect the chip.
I'm a bit lost and don't know what to try next.
This board has no spi_en pad and both 1.8 and 3.3v out don't provide the expected tensions.
Help please.
The schematics are available on the above page.
I try to connect a csr spi USB from Aliexpress to that board (4spi terminals + 3.3v + GND) but sptool doesn't detect the chip.
I'm a bit lost and don't know what to try next.
This board has no spi_en pad and both 1.8 and 3.3v out don't provide the expected tensions.
Help please.
But nobody has the firmware of the csr8675 updated to the latest version (4.4.0.21) with all active codecs and i2s output? 🙁 A thousand thanks
Anybody know how to connect QCC5125 via I2C, what is a pio number? Any known I2C registes e.g. to get song name?
This is not available out-of-the-box, you may have to write some code for that. Refer to this.Anybody know how to connect QCC5125 via I2C, what is a pio number? Any known I2C registes e.g. to get song name?
You may look into Feasycom modules, they have similar functionality but via UART.
I now tested BTM5/3 breakout board, it works fine, so KiCAD project and GERBER files are attached.
I tested it with QCC5144 development board from AliExpress with BTM525 and BTM551 modules. It should work with other modules with compatible pinout (i.e. BTM334), but will require modifications for BTM571/371 modules.
I tested it with QCC5144 development board from AliExpress with BTM525 and BTM551 modules. It should work with other modules with compatible pinout (i.e. BTM334), but will require modifications for BTM571/371 modules.
Attachments
@o11111 thank you so much! Thats good news for me, at least some lights on it. Do you have maybe account on https://www.52bluetooth.com/forum.php?mod=viewthread&tid=75933 to download archive from the first post? Here is another light on this link https://www.52bluetooth.com/article-63-1.html .What I not understand is this:
And some english sites:
https://programmersought.com/article/51564075414/
https://www.programmersought.com/article/11937042193/
What mean "Setting PIO is controlled by hardware"? How can I set it on hardware level? The more better question is how can I comunicate with bluetooth module at all?
I2C initialization is divided into several steps 2.1, I2C initialization
- Setting PIO is controlled by hardware;
PioSetMapPins32Bank(bank, mask, 0);- Set PIO function;
PioSetFunction(pio,func);- Set the PIO direction;
PioSetDir32Bank(bank, mask, 0);- Set the PIO level;
PioSet32Bank(bank, mask, mask);
PioSetStrongBias32Bank(bank, mask, mask);- Set Bitserial mode to I2C;
bsconfig.mode = BITSERIAL_MODE_I2C_MASTER;- Set Bitserial speed;
bsconfig.clock_frequency_khz = prox->config->i2c_clock_khz;- Set Bitserial slave address;
bsconfig.u.i2c_cfg.i2c_address = I2C_ADDRESS;- Call BitserialOpen and return the handle.
handle = BitserialOpen((bitserial_block_index)BITSERIAL_BLOCK_1, &bsconfig);
And some english sites:
https://programmersought.com/article/51564075414/
https://www.programmersought.com/article/11937042193/
What mean "Setting PIO is controlled by hardware"? How can I set it on hardware level? The more better question is how can I comunicate with bluetooth module at all?
Last edited:
There's no archive, only code in text form.download archive from the first post?
I downloaded the page, see the attachment.
Probably bad translation. Looks like that you will need to use stated functions. I would say it is something about configuring hardware. From documentation:What mean "Setting PIO is controlled by hardware"?
/**
* \brief Maps PIOs as software or hardware controlled.
* Before using a PIO as a software controlled digital IO a call to this
* function is required. Not mapping the PIO may cause other functions in the
* PIO trap API to return errors and not produce the required behaviour.
* To put a PIO under HW control the app needs to call this function first and
* then PioSetFunction to select the HW functionality needed.
* Please note that there is no default state, all PIOs should be considered
* unmapped and unusable until they are configured by a call to this function.
* \param bank PIO bank number.
* \param mask Each bit in the mask corresponds to a PIO line. Bits set to 1 in this mask will
* be modified. Bits set to 0 in this mask will not be modified.
* \param bits Each bit corresponds to a PIO line. A bit set to 1 will cause a PIO to be
* behave as a software controlled pin. A bit set to 0 will result in the pio
* being marked as controlled by a hardware peripheral.
* \return A 32 bit mask. If any bit in this mask is high then that PIO could not be
* mapped or unmapped; note that no action will have been taken on any PIOs.
*
* \ingroup trapset_core
*/
uint32 PioSetMapPins32Bank(uint16 bank, uint32 mask, uint32 bits);
I think you can just use the code on that page.How can I set it on hardware level?
USB or TRBI (you will need TRBI200 programmer).The more better question is how can I comunicate with bluetooth module at all?
Attachments
Thats realy questionable how can I implement i2c on an diy device when for this I need TRBI, I'm believing that maybe some diy interfaces might allready exist for this purpose. Even preparing everything to functional state, mean i2c, its again realy questionable where we can obtain i2c registers information. This is probably not an easy task since qc is as always not an user friendly for any development, instead I'm going to forget this, its better idea I think. Anyway thank you so much for nice support!
QCC5125 supports USB programming, you don't need to buy TRBI200 (even though it seems to be faster, price is relatively high even for clone from AliExpress, so not worth it).Thats realy questionable how can I implement i2c on an diy device when for this I need TRBI
It doesn't exist. You may use arbitrary values and parse them on QCC5125.where we can obtain i2c registers information.
100 times YES.This is probably not an easy task since qc is as always not an user friendly for any development
Do you really need I²C? Or UART will be fine as well? FSC-BT1026E module has such functionality, so this is definitely possible to achieve, take a look at documentation hereinstead I'm going to forget this, its better idea I think.
If UART is fine too and such a module isn't suitable, I would recommend trying QCC5144 (BTM544 module). My project requires some kind of UART control (volume, playback, ...), so I may take part (and help you) in implementing UART control. I am not sure about song name, but looks like it is AVRCP feature, so it should be possible to implement as well.
Hey thats great! And pretty easy! Yes track name can be easy retrieved trought @at. Curently I do not getting idea how to connect raspberry pi 4 to the module to obtain software control . I'm looking for module which no need external hardware, and if possible to have software control to kalimba dsp too. @at is trought uart? I would be happier to have i2c since my hardware contain everything in i2c mode so it would be easier for me to have one more i2c device
Last edited:
You will need to connect UART RX and TX pins of QCC5125 to UART of Raspberry Pi. I.e. if you will connect it to 14 and 15 pins of Pi, it would be accessible as /dev/ttyAMA0Curently I do not getting idea how to connect raspberry pi 4 to the module to obtain software control.
What do you mean by software control to Kalimba DSP? Equalizer or something else?I'm looking for module which no need external hardware, and if possible to have software control to kalimba dsp too.
Yes@at is trought uart?
I don't think there exists finished QCC5125 product with such functionality. You may use external MCU for translation from I²C to UART or try to write your own firmware for QCC5125.I would be happier to have i2c since my hardware contain everything in i2c mode so it would be easier for me to have one more i2c device
Yes equalizer!What do you mean by software control to Kalimba DSP? Equalizer or something else?
It would be done on pic12fxxx, for example on pic implement @at interpreter and at the same time program pic to become i2c slave device & make my own i2c registers to translate between uart and i2c, thats not a problem for me. The important thing was how to connect to btI don't think there exists finished QCC5125 product with such functionality. You may use external MCU for translation from I²C to UART or try to write your own firmware for QCC5125.
Thank you so much!
There's Android app for EQ, GAIA Controlequalizer
Yep, that's great way to solve this.It would be done on pic12fxxx, for example on pic implement @at interpreter and at the same time program pic to become i2c slave device & make my own i2c registers to translate between uart and i2c, thats not a problem for me.
If you would use FSC-BT1026E, you can directly use schematic from datasheet.The important thing was how to connect to bt
But if you're going to use BTM525 module, I'd suggest that you don't. QCC5144 software architecture is generally better (also compatible with QCC5171 for LE Audio), it would be much easier to implement. BTM544 is 20$, pretty affordable.
You might also want to consider replaceable Bluetooth module board, so you can use almost any Bluetooth chip.
Well, Feasycom has QCC5141 module, this chip is basically the same crystal but with different packaging. But I'm not sure they support AT commands. You may ask them via email.QCC5144 you mentioned is very interesting specialy because of easy and very good documented @at things.
So either you use their QCC5125 module, which surely does, or hope that QCC5141 module does.
Other solution would be to go for BTM544 module, which is much more widely used across the industry, and implement the necessary features by yourself. If you're going this way, we may cooperate on that, I'd like to have UART control in my project too. It is not the easiest way, but if you want great EQ control, only QCC514x app (QCC5125 only has Android app, QCC514x+ have both Android and iOS) would give it to you.
IIRC they are using BLE.Do you know which protocol use gaia?
I don't think I really understand what you meant by "which protocol", but GAIA includes a set of data transfer protocols as well as fixed set of commands sent through this protocol [Eg: the command we want to send from a smartphone to QCC chip has to be wrapped around header and trailer bytes, these are managed by the GAIA library]. As a medium of transfer, the provided GAIA android sample app uses RFCOMM over classical bluetooth for Android, and iphone sample app uses BLE (I think it is called iAP over BLE, but I am not sure of the exact terminology). As with all the sample programs provided by QCC, the GAIA smartphone app does what it says very easily (eg, read QCC chip serial number over GAIA), but it will be very difficult to modify it to do anything else.Do you know which protocol use gaia?
In short it seems depend on bluetooth protocol. Thats not what I'm looking for control device remotely. I'm looking for device which use i2c protocol, but I'm ok with uart too. In short, I need to retrieve song name trought (i2c or uart) to display it on lcd, and if possible to get control to eq too. Where I can download GAIA app?I don't think I really understand what you meant by "which protocol", but GAIA includes a set of data transfer protocols as well as fixed set of commands sent through this protocol [Eg: the command we want to send from a smartphone to QCC chip has to be wrapped around header and trailer bytes, these are managed by the GAIA library]. As a medium of transfer, the provided GAIA android sample app uses RFCOMM over classical bluetooth for Android, and iphone sample app uses BLE (I think it is called iAP over BLE, but I am not sure of the exact terminology). As with all the sample programs provided by QCC, the GAIA smartphone app does what it says very easily (eg, read QCC chip serial number over GAIA), but it will be very difficult to modify it to do anything else.
Last edited:
- Home
- Source & Line
- Digital Line Level
- CSR8675 programming guide w software and tons of CSR info