-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
CircuitPython version and board name
Custom board with the MGM240PA32VNACode/REPL
import time
from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
# Create BLE radio
ble = BLERadio()
# Set the BLE device name
ble.name = "SimpleBLE"
# Create a basic advertisement packet
advertisement = ProvideServicesAdvertisement()
advertisement.complete_name = ble.name
print("Advertising as:", ble.name)
# Start advertising
ble.start_advertising(advertisement)
while True:
# Keep advertising forever
print("Advertising...")
time.sleep(1)Behavior
No BLE advertising with code using the MGM240PA32VNA. Works fine on the Sparkfun MGM240PB32VNA.
Description
Reposting here per @dhalbert , for @silabs-BelaV and @silabs-ChatNguyen
Hi,
I have been building a proof-of-concept for a new idea using Adafruit and other off-the-shelf modules to speed up development. Specifically I have been using Circuit Python on the Silabs MGM240P with the Sparkfun Thing Plus. No issues with any of that prototyping at the moment.
I just received my custom MGM240P based boards back from fabrication. Those custom boards have the MGM240PA32VNA, but the Sparkfun board has the MGM240PB32VNA. Per the Silabs data sheet the only difference is with the device security being ‘high vault’ for the ‘B’ part (Sparkfun), and ‘mid vault’ for the ‘A’ part on the custom board.
Both the Sparkfun and custom board run Circuit Python release 10.x fine. They boot, run code as expected, no issues. But, the BLE will not advertise, or do anything, on the custom board. There are no reported FW issues, the code says it is advertising. The only difference between the two setups is the MGM240PB32VNA on the Sparkfun board and the MGM240PA32VNA on the custom board. That small difference in security level should have no impact on the BLE.
As a sanity check I used the Silabs tools to build a simple BLE LED control app, one of the examples in the Silabs tools. Each app was built for the respective part and verified on the Sparkfun board and the custom board. No issues, both devices can connect over BLE and control an LED from the Silabs iPhone app. This confirms there are no hardware problems, all works as expected on the custom board.
So why does the Circuit Python image not work on the custom board with what should essentially be an identical part?
I have an environment that allows the Circuit Python image to be rebuilt. Now I can rebuild Circuit Python images I have tried taking any Silabs ‘autogen’ and ‘config’ files from the working BLE LED example code and trying that to see if there are differences. But so far nothing I do will get the BLE to advertise on the custom board.
Any insight or guidance would be really helpful. Maybe someone else has tried this before and resolved the issue. I am open to trying out any FW changes on the custom board. This problem makes no sense to me why it is not working. I have tried everything I can think for the past three days.
Thanks so much for any help.
JT
Additional information
No response