1) It is strongly recommended to use only the latest available SW. If not the latest, the SW compatibility between modem, beacon, and Dashboard SW is not guaranteed.
To update the SW on your devices:
Download the SW (see the links below: "Latest stable SW to download") on your hard drive
Connect beacon or modem via USB to your computer. Make sure that only one device (either modem or beacon) is connected via USB, while programming!
Run the Dashboard => Advanced view => Firmware => Choose the file => Program
After programming, which takes a few seconds, press the HW reset button on modem/beacon
Double-check in the Dashboard that (1) the modem/beacons contains now the expected version of the SW and (2) radio profiles of beacons and modems are the same
It is possible to update beacons' SW over radio interface from the Dashboard. It works pretty much the same way as via USB, but slower and depends on your radio profile settings
2) Some new SW versions bring very substantial changes to the internal protocols and become incompatible with previous SW version. Thus, always keep the same SW versions on all beacons. Also use only compatible versions of the modem and the Dashboard SW, since they come in a package (beacon SW + modem SW + Dashboard SW) and all shall support the same protocols.
Follow the instructions for DFU SW programming: http://www.marvelmind.com/forum/viewtopic.php?f=2&t=294, if DFU programming is needed. In normal mode, you would upload HEX files - not DFU files - to the boards and takes a few seconds per board (via USB) or 0.5-2 min per board via radio
3) Double-check that the beacon's address is the same after SW updating and radio settings of modem and beacons match (radio profile, first of all). Major changes in SW versions may lead to the device's address to be overwritten. If happened, use the Dashboard to assign the required address to the beacon again.
stm32_vcp.zip - required to connect beacons/modems to the Dashboard via USB. It needs to be installed only once on your Windows PC.
For HW v4.5 (5 sensors) Dashboard: Dashboard SW v5.06 - installation file with drivers. It is suitable the most for the very first installation of the Dashboard
What is new:
It is possible now to build a fully functional map/submap for 3D navigation using only 3 stationary beacons. Before, one would need at least 4 stationary beacons per map/submap for 3D navigation or 2 stationary beacons for 2D navigation
It is possible now to enter values in the table of distance between stationary beacons manually. Before it was fully automatic only
It is possible now to remove restriction on the minimal distance between stationary beacons or stationary beacons and mobile beacons. Before it was 0.35m at minimum. Now, it can be set to 0mm. As before, the distance between beacons is not limited anyhow. So, mobile beacons can as close to each other as one wishes
Enriched features of embedded oscilloscope designed for making possible a deeper analysis of implications of higher location update rate settings on the system performance
C and Python and UDP sample codes support now mm-output format, i.e. fully compatible with the main SW pack. To switch back to cm-resolution format
Important! Some earlier HW versions do not support all power saving modes. Use "Analog power in sleep" enabled first. It will increase power consumption by 5-8mA in active mode. If you happen to have a newer HW version, disable analog power in sleep. If system continues working normally - use it. It saves battery.
Default mode - "disabled", i.e. if your HW does not support it, the system won't work stable.
Updated on 20.Aug.2015
Important! Please, use addresses for beacons in the range of 2..63. There were reports that addresses 64..99 don't always work well with SW v3.73. This bug has been fixed in the later versions.
Here is the Python code for Linux-based devices integration via virtual UART via USB
Library is easy to use. Also, here is detailed description and example
Code is fairly universal; Tested on:
Mac (OS X 10.10)
CRC calculation is done in "pythonic way", i.e. library crcmod is used
There are handlers of different exceptions, for example, non-standard states of COM/USB
The Python library provides quick and easy ability for integration of ultrasound navigation system with various linux-based devices. Among them are Raspberry Pi and other single-board PCs. This code is free to use in your applications (please include a reference link to this web page).
It is possibly to get location data not only from the mobile beacon, but directly from the modem or the Dashboard:
Protocol of data exchange with modem via USB interface:link
The Dashboard software log description: forum link or direct link to the image. First column appeared later, and it is discussed in this topic. It is an additional absolute column - a timestamp - time in milliseconds passed from january,1 of 1970 (UNIX time) - Dashboard SW permanently writes coordinates into log file 'hedgehogs.log' that is stored into the Dashboard folder
Protocol of data exchange with Dashboard via UDP: link