RevolutionPi Flat Prototype (Oxygen) - Release Notes
Author: Lukas Wunner
The password of user "pi" is "nmwone" on all prototypes.
Each prototype has a sticker with the MAC address of the LAN interface, LAN switch and WLAN interface. IP addresses are configured with DHCP. Attach the protoype to a LAN with a DHCP server, scan the LAN with a tool such as "nmap" or "Advanced IP Scanner", then determine the prototype's IP address by searching the scan output for the MAC address on the sticker. Log in with ssh.
By default, RS485-0 (/dev/ttyAMA0) is used as console. So if you are unable to log in over the LAN, try logging in via serial console by attaching an RS-485 USB serial adapter between your PC and the RS485-0 port. Set the baud rate to 115200. If you need the RS485-0 port for a different purpose or would like to prevent tampering with the prototype, disable its use as a console by removing the "console=ttyAMA0" parameter from /boot/cmdline.txt.
RS485-1 is available as /dev/ttyS0 and can likewise be configured as console. The RS485 signals are on the two innermost pins (3 & 4) of the RJ-11 plug. The adjacent pins (2 & 5) are connected to ground.
There is a simple script called "hwtest.sh" in the home directory of user "pi" which we've used to test each prototype. The commands used in the script show how to access each of the prototype's functions and may serve as a template or inspiration for your application. Feel free to re-execute the script using "sudo bash hwtest.sh".
The WLAN interface currently doesn't use the MAC address on the sticker, but rather the permanent MAC address assigned by the chip manufacturer.
The Bluetooth interface currently needs to be set up manually using "hciattach /dev/ttyUSB0 any". We'll see to it that in the future it gets set up automatically using the kernel's serdev infrastructure.
The LAN switch works but is currently not configurable through its Linux driver.
The ADC and DAC are exposed in /sys/bus/iio/devices/. Note that the numbering of the devices (0 and 1) is arbitrary and may change on every reboot.
Convert the raw value read from the ADC in "in_voltage0-voltage1_raw" using the formula (($raw * 12500) >> 20) + 12500 to get the voltage in mV.
The ADC has high precision but is relatively slow with up to 80 ms for each conversion.Write a value between 0 and 4095 to the DAC in "out_voltage0_raw" to output a voltage between 0 and 10 V.
LEDs are exposed in /sys/class/leds, turn them on or off by writing 255 or 0 to their "brightness" file.
The electromagnetic relais can be toggled by accessing GPIO pin 9 from user space.
The watchdog can be enabled with:
gpio mode 4 out ; gpio write 4 1The RTC is powered by a supercap which allows it to maintain the time and date for a few hours even if no power source is attached. If the prototype is disconnected from a power source for a longer period, then the time and date needs to be resynchronized using NTP.
The TPM currently doesn't use its interrupt. It shouldn't impact the chip's function in any way, aside from a minor performance penalty.
Currently no kernel driver is compiled in for the MBUS RF-module. It can be accessed from user space with spidev:
https://pypi.org/project/spidev/
http://tightdev.net/SpiDev_Doc.pdfThe kernel used on the prototypes was generated from the following branches:
https://github.com/RevolutionPi/linux/commits/revpi-4.19
https://github.com/RevolutionPi/piControl/commits/connect-flat
https://github.com/RevolutionPi/kernelbakery/commits/connect-flatThe device tree overlay for the Connect Flat Prototype is located in the linux repository at:
arch/arm/boot/dts/overlays/revpi-connect-flat-overlay.dts
It provides you with an overview of the chips present on the prototype.The image used on the prototypes was generated using our regular imagebakery tool available on GitHub, with a few small manual tweaks to add basic support for the prototypes.
Related articles
xx