Art is a collection of multi platform libraries that accelerates the embedded development. At least ours.. We have been using it in our projects for a long time, we thought that it would be better sharing with others to speed up the development of never products..
Art’s main design purpose is to save developer’s time spend on platform settings, learning technical details of the devices etc. For instance there is no baker code, you just write the code, and the rest is handled by Art like an art. That way developer may concentrate on their business..
Art has many parts. Please see the details in related pages. For the time being the following components will be maintained:
ArtCore
Core library for all other Art libraries.. It contains core components: Signal’s, Lists, String etc; preemptive OS and synchronization primitives: Thread, Mutex, WaitCondition etc; HAL implementations: Uart, Spi, Timer etc and many more..
Visit ArtCore page for details..
ArtMtd
Memory Technology Devices library supplies Flash, SD Card manipulation components.
Visit ArtMtd page for details..
ArtGui
Graphical User Interface library supplies core components to drive modern time LCD’s, touch panels; GUI related components Button’s, Labels, Windows and Window Manager that coordinates those UI system, clipping regions, buffers etc..
Visit ArtGui page for details..
A simple example:
A hardware developer feels comfortable when she blinks a led. Here is the “hello world” for her:
#include <Art/Bsp.h> #include <Art/Delay.h> using namespace Art; int main() { led()->configure(PinFunctionOutput0); while (1) { led()->toggle(); sleep(500); } }
From the code, you can see that driving a led, timing etc is not related to the platform. Art will handle delays, port configuration by itself. You can use it on STM32F429 or LPC1756 and the code will work.. Art will handle the platform related implementations..
You can find the working projects from our github page: https://github.com/ArselonHub/ArtCoreExamples-stm32f429i-disco