Ruff Lite is a type of Ruff OS targeted on MCU (MicroController Unit)
Ruff Lite supports two chips for now, one is TI TM4C1294, the other one is Espressif ESP32.
|chip||board model||board name in Ruff Registry|
|ESP32||Widora-AIR ESP32 Board||esp32-air-v40|
Ruff does not provide any channels for purchasing, developers can buy them in the E-commerce platforms like Taobao.
Developers can search devices in Rap Registry, as for what devices are supported, it’s up to the HW interface of device. Ruff Lite supports the following HW interfaces. Developers can write device driver based on these interfaces.
TM4C1294 supports all the interfaces above, and will support more interfaces such as CAN and SPI in the near future. But ESP32 just supports the basic GPIO interface (in/out only), other advances features (like GPIO interrupt) and other HW interfaces are ongoing now.
The built-in devices are the devices can be used directly. You don’t need to add them by executing
rap device add.
Since Rap v1.9.0 version,
rap log is supported on ESP32, but not on TM4C1294 for now. The usage is below.
rap log --port <port>
USB cable provides the following functions:
- flash firmware or application (data flow is from PC to board)
- output logs (data flow is from board to PC)
- provide power to board
NOTE: developers cannot flash firmware or application while viewing logs since the serial port is used.
The hardware resource on MCU device is usually limited, for example, there are 1M flash and 256K memory (SRAM) on TM4C1294, there are 4M flash and 512K memory (SRAM) on ESP32. Therefore deploy byte code on MCU device instead of plain source code can dramatically reduce both memory and flash space consumption.
Ruff Lite project provide an online compiler named ruff-compiler which can be utilized by
rap command while deploying package. To enable this feature, you need install ruff compiler with npm:
npm install ruff-compiler -g
Then next time when you deploy a package,
rap will detect
$PATH automatically and make use of it. You may use
rap deploy --source if you want to deploy source code.