User Tools

Site Tools


projects:lps:node

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
projects:lps:node [2016-05-24 14:24]
arnaud
projects:lps:node [2018-09-17 13:56]
macke
Line 5: Line 5:
 <WRAP half column> <WRAP half column>
 Connects and buttons: Connects and buttons:
-  - **uUSB**: Used to power board (and will have command-line interface)+  - **uUSB**: Used to power board (and have command-line interface)
   - **DC-jack**: Power (5V)   - **DC-jack**: Power (5V)
   - **Terminal**: Power (5V)   - **Terminal**: Power (5V)
   - **Reset**: Reset the board   - **Reset**: Reset the board
-  - **Exp connector**: Designed for ESP8266 but can be used for other things. Contains 3V3 power, TX, RX and GND. +  - **Exp connector**: Designed for ESP8266 but can be used for other things. **Note:** Pin-out changed between RevD and RevE (see blow) 
-  - **USR & DFU**: If pressed and held during reset or power on this will put the board into DFU bootloader mode. When the system is up and running the button is still unused, but could be used to trigger functionality in the firmware.+  - **USR & DFU**: If pressed and held during reset or power on this will put the board into DFU bootloader mode. When the system is up and running the button is unused, but could be used to trigger functionality in the firmware.
   - **SWD**: Connector for programming and debugging MCU. Uses same pin-out as Crazyflie 2.0 and [[http://www.seeedstudio.com/depot/Crazyflie-20-debug-adapter-kit-p-2114.html|this adapter]] can be used to connect debuggers.   - **SWD**: Connector for programming and debugging MCU. Uses same pin-out as Crazyflie 2.0 and [[http://www.seeedstudio.com/depot/Crazyflie-20-debug-adapter-kit-p-2114.html|this adapter]] can be used to connect debuggers.
-  - **FTDI**: Connector designed for the FTDI serial-to-USB cable (TTL-232R-3V3). Except for getting a serial console for debugging it can also be used to power the board. Note that signals are 3V3 and power is 5V.+  - **FTDI**: Connector designed for the FTDI serial-to-USB cable (TTL-232R-3V3). Can be used as a serial port for debugging and to power the board. Note that signals are 3V3 and power is 5V.
   - **M3 mounting holes**   - **M3 mounting holes**
 </WRAP> </WRAP>
Line 30: Line 30:
  
 ===== Firmware ===== ===== Firmware =====
 +
 +==== Configuring the node ====
 +
 +The node can be used as:
 +  * An anchor: receives and answer ranging requests
 +  * A tag: Ranges with anchors and prints the distance
 +  * An UWB sniffer: Prints all messages received from the radio
 +
 +To configure the node connect it to a computer (I will assume a computer running linux but it should work on mac and windows as well). The node will be recognised as a serial port. The name of the serial port can be found with //dmesg//:<code bash>
 +$ dmesg
 + [ .... ]
 +[22942.980255] usb 3-2: new full-speed USB device number 13 using xhci_hcd
 +[22943.109845] usb 3-2: New USB device found, idVendor=0483, idProduct=5740
 +[22943.109852] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 +[22943.109855] usb 3-2: Product: Loco Positioning Node
 +[22943.109858] usb 3-2: Manufacturer: Bitcraze AB
 +[22943.109861] usb 3-2: SerialNumber: 1C0030000F51485336373420
 +[22943.110697] cdc_acm 3-2:1.0: ttyACM3: USB ACM device
 +$
 +</code>
 +
 +The serial port can be open with your favorite serial console, picocom: <code bash>$ picocom /dev/ttyACM3</code>
 +
 +The node will print startup messages:
 +<code>
 +====================
 +SYSTEM : CPU-ID: 1c0030000f51485336373420
 +TEST : Initializing pressure sensor ... [OK]
 +TEST : Pressure sensor self-test ... [OK]
 +TEST : EEPROM self-test ... [OK]
 +TEST : Initialize DWM1000 ... [OK]
 +CONFIG : EEPROM configuration read and verified
 +CONFIG : Address is 0x1
 +CONFIG : Mode is Anchor
 +CONFIG : Tag mode anchor list (6): 0x01 0x02 0x03 0x04 0x05 0x06 
 +SYSTEM : Node started ...
 +SYSTEM : Press 'h' for help.
 +</code>
 +
 +You can type h for help:
 +<code>
 +Help
 +-------------------
 +0-9 - set address
 +a   - anchor mode
 +t   - tag mode
 +s   - sniffer mode
 +d   - reset configuration
 +h   - This help
 +</code>
 +
 +All settings will take effect after reset. they are saved in an I2C EEPROM onboard. 'd' allows to erase this memory in case it would be corrupted.
 ==== Building and flashing ==== ==== Building and flashing ====
-Building and flashing is described in the [[https://github.com/bitcraze/lps-node-firmware|repository]]. It'possible to flash the board both using SWD and DFU.+Building and flashing is described in the [[https://github.com/bitcraze/lps-node-firmware|repository]]. It is possible to flash the board both using SWD and DFU. 
 + 
 +To make the project type: <code bash>make</code> 
 + 
 +When developing on the node you will want to flash with an SWD debuger as it is faster and allow for debugging the code. The project is configured by default to use StLink-V2 but it can use any debugger compatible with OpenOCD. To flash with SWD type: <code bash>make flash</code>
  
-Flashing via DFU requires [[http://dfu-util.sourceforge.net/|dfu-utils]] (>=0.8) and Python (>=2.7). To enter DFU mode hold down the DFU button (see 6 above) while power on or resetting the board.+For just flashing the latest version or for ocasional development flashing via DFU is good enough and does not required any additional hardware. Flashing via DFU requires [[http://dfu-util.sourceforge.net/|dfu-utils]] (>=0.8) and Python (>=2.7). To enter DFU mode hold down the DFU button (see 6 above) while power on or resetting the board. To flash the firmware via DFU type: <code bash>make dfu</code>
  
-To flash the firmware use +===== Schematic =====
-<code>make dfu</code>+
  
 +Schematic of the Loco Positioning Node:
 +  * {{:projects:lps:loco_node_revd.pdf|Loco Node RevD}}
 +  * {{:projects:lps:loco_node_reve.pdf|Loco Node RevE}}
  
  
  
  
projects/lps/node.txt · Last modified: 2021-06-24 16:15 by kimberly