- Notifications
You must be signed in to change notification settings - Fork10
riverdi/riverdi-eve
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
riverdi-eve is an easy-to-use library and example app (good starting poiny for you own projects) forRiverdi Intelligent Display driven byBridgetek EVE graphics controllers:
- EVE 1 series: FT800 and FT801,
- EVE 2 series: FT810, FT811, FT812 and FT813,
- EVE 3 series: BT815 and BT816,
- EVE 4 series: BT817 and BT818
The library contains support for the most popular hardware/software platforms like:
- Raspberry Pi (and other linux-based Single Board Computers),
- STM32 (with full support forRiverdi STM32 Evaluation Board ('stm32f4') andRiverdi Revelation Board) ('stm32f0'),
- Windows (with FT232H USB-SPI converters - FT232H USB-SPI converter is a part ofRiverdi STM32 Evaluation Board),
- Arduino (source code available as a separate GitHub repository -riverdi-eve-arduino).
Library supports instructions in a similar format to theFT80x and FT81x Series Programmers Guides,BT81X Series Programming Guide and theEVE Screen Editor.
Note:this repository contains library code fully integrated with example app (and Makefile files for various platform) - if you need only library, please checkriverdi-eve-lib repository and examples of library integration for such platforms like:RP2040,ESP32 orRaspberry Pi
Theriverdi-demo.c file can be edited to produce the final application, calling the functions from the underlying layers.
This layer is designed to allow the main application to use syntax close to that of theFT80X/FT81X Programmers Guide and make it more user friendly. The functions provided in this layer handle co-processor operation and assist with creating and executing co-processor lists as well as keeping track of the offset within the FIFO for each command and sending parameters of commands such as text strings.
This layer translates the calls from the API layer above into a series of SPI byte transfers formatted for the protocol used by the FT8XX. It includes a series of functions which send the register address as well as for reading and writing 8/16/32-bit values. It also has functions for checking the read and write pointers of the RAM_CMD FIFO and for checking the free space available, which are used by the layers above.
This layer provides an interface to the hardware. It takes the SPI transfers from the EVE layer and translates them into the low-level operations (SPI and GPIO operations for chip select and power down).
If porting the provided code to another type of hardware/software platform, the code inhost_layer directory should be customized to match the peripheral API of the chosen platform whilst keeping the same syntax for calls to this layer from the EVE layer above.
Theriverdi-eve project uses a standard Makefile and GNU make to build and customize the source files for all supported platforms.
Note:before compilation edit Makefile.linux file to choose Embedded Video Engine series (-DEVE_1, -DEVE_2 or -DEVE_3 flags), choose type and size of connected TFT module (choose predefined macros for Riverdi EVE modules or edit timings manually in modules.h file for custom displays) or to adjust compilation settings.
- Clone the repository (if you haven't done so already):
git clone https://github.com/riverdi/riverdi-eve.git
- Change directory to the repository folder:
cd riverdi-eve
- Buildriverdi-eve project:
make -f Makefile.linux
For Windows OS,riverdi-eve project can be easily compiled underMinGW (minimalist development environment for native Microsoft Windows applications). Please visit officialMinGW project website for detailed tutorials:
make -f Makefile.win32
- Before building, please install the GNU compiler toolchain on your Linux platform. You can easily use toolchain shipped with recent Debian and Ubuntu versions:
sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi
- You also might want to install some other debuggers or dedicated software for your programmer (for examplestlink):
sudo apt-get install openocd gdb-arm-none-eabi
- Clone the repository:
git clone https://github.com/riverdi/riverdi-eve.git
- Change directory to the repository folder:
cd riverdi-eve
- Buildriverdi-eve project:
make -f Makefile.stm32f4
- Flash your device:
make -f Makefile.stm32f4 flash
- Clone the repository:
git clone https://github.com/riverdi/riverdi-eve.git
- StartSW4STM32 IDE and importriverdi-eve project by choosing:
File -> New -> Other -> C/C++ -> Makefile Project with Existing Code
RenameMakefile.stm32f4 file toMakefile (alternatively, replace defult build commandmake withmake -f Makefile.stm32f4 inProject Properties)
Now you can build project by choosing:
Project -> Build All [Ctrl+B]
Please contact Riverdi support -contact@riverdi.com
SeeLICENSE.txt file for details.
About
Example app for the Riverdi Intelligent Display driven by Bridgetek EVE graphics controllers (FT8XX/BT81X)