-
Notifications
You must be signed in to change notification settings - Fork 3
Common Issues
You receive this error when attempting to apply the device tree overlay on BBB:
BBBPinManager.ApplyPinSettings() ->
System.IO.IOException: Could not create file "/sys/devices/platform/bone_capemgr/slots". File already exists.
This likely means that another device tree overlay is in conflict with the one generated by Scarlet for you. To verify this, run this command:
dmesg
And read through the bottom few lines. You will likely see something like this:
slot #9: Scarlet-DT61 conflict P9.14 (#4:cape-universaln)
slot #9: Failed verification
This might be fixed by a reboot to remove conflicting overlays, or by disabling HDMI/eMMC.
In the event that this doesn't fix the issue, you may have the default cape enabled. (This is what happened above, where cape-universaln
took all pins).
To fix this, run this:
sudo nano /boot/uEnv.txt
Then change the uncommented line (line 49 for me), the part that says cape_univeral=enable
to cape_universal=disable
The universal cape is a BBB-default cape that will set up all pins in a default state for easier use by beginners. Since Scarlet dynamically generates and applies device trees, this is unwanted, so we disable it.
You receive this error when trying to register a pin on the BeagleBone:
BBBPinManager.AddMappingXXX() ->
System.InvalidOperationException: This pin cannot be used without disabling some peripherals first.
This means that you are trying to use a pin that is already in use by one of the BBB core hardware features, either eMMC or HDMI. You can see these in the "Mode" column on the pin chart. I recommend that you choose a different pin to use, but you can disable the relevant hardware feature by editing this file (instructions can be found online, we haven't tested this):
/boot/uEnv.txt
Once you do that, make sure to edit your BeagleBone.Initialize()
call to the new SystemMode
relevant to what you have configured.
You receive one or more of the following, and your packets don't get through:
Packet too Short
No handler is registered for parsing packet ID XXX
Make sure your ReceiveBufferSize
is large enough to receive that packets you are expecting (since the packets are longer than the data you supply due to timestamps and packet IDs, make sure you add an extra 5 bytes to your expected packet size). If your buffer isn't big enough to contain the packet, it is split into two or more packets, which screws up parsing.
On startup, you receive:
Win32.IO.Exception: Could not create file. File already exists.
This issue results from the program exiting right before the a temporary StateStore file is deleted, and then occurs the next time you exit the program. To fix this, just delete the temporary StateStore file, typically named ScarletStore-YourSystemName.txt-old
.
Quick Links:
NuGet
Pin Diagrams: RPi | BBB
Developers: CaiB, Baldstrom
General Info:
Home
Common Issues
Getting Started
Supported Devices
Sections:
Logging
DataLog
Filters
Hardware I/O:
- BeagleBone Black
- Raspberry Pi
- Pin Diagrams: RPi | BBB
- GPIO: Using | For Beginners
- PWM: Using | For Beginners
- ADC: Using | For Beginners
- I2C: Using | For Beginners
- SPI: Using | For Beginners
- UART: Using | For Beginners
- CAN: Using | For Beginners
Networking
Sensors
StateStore
Other: Interesting Case Studies