Skip to content
This repository has been archived by the owner on May 3, 2024. It is now read-only.

Common Issues

Cai Biesinger edited this page Jun 13, 2018 · 1 revision

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.

Logo

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

Clone this wiki locally