RoboPeak USB Display User Mode SDK is Released

RoboPeak USB Display User Mode SDK

A lot of people asked us: is there a way that we can control our displays more directly, and on more platforms?

Now, we are excited to take the amazing RoboPeak USB Display User Mode SDK to the public.

Highlights

  • Support Windows/OS X/Linux
  • Support x86/arm
  • Direct access to the low-level display operations
  • Fully open source

Features

  • Enumerate all RoboPeak USB Display devices connected (Relative APIs: enumDevices, findFirstDevice, openFirstDevice)
  • Handle touch screen operations (Relative APIs: setStatusUpdatedCallback, getStatus)
  • Fill the screen with color (Relative API: fill)
  • Draw a bitmap to the screen with bit operations (Relative API: bitblt)
  • Fill rectangle with bit operations (Relative API: fillrect)
  • Copy an area of image to another place on the screen, in place. (Relative API: copyArea)

Where To Get It

We have published it to our github repository: https://github.com/robopeak/rpusbdisp/tree/master/drivers/usermode-sdk. Please go and get it, and have fun!

RoboPeak USB显示器SDK正式发布

RoboPeak USB Display User Mode SDK

有很多RoboPeak USB显示器的用户曾经咨询过这个问题:有没有一种方法能够在更多的平台上,用更底层的API来操作显示屏,而不需要依赖重新编译Linux内核,或者安装内核模块,最好能够不使用X11就能使用图形环境

我们的答案是:当然可以!今天我们发布了RoboPeak USB显示器用户态SDK。

亮点

  • 支持 Windows/OS X/Linux
  • 支持 x86/arm
  • 直接使用显示屏的底层操作原语,性能更好
  • 完全开源

功能

  • 枚举所有已经连接的显示屏 (相关API: enumDevices, findFirstDevice, openFirstDevice)
  • 处理触摸屏事件 (相关API: setStatusUpdatedCallback, getStatus)
  • 填充颜色 (相关API: fill)
  • 绘制位图(支持位操作) (相关API: bitblt)
  • 绘制矩形(支持位操作) (相关API: fillrect)
  • 在屏幕上,将一块显示区域的内容拷贝到另一块区域 (相关API: copyArea)

获取途径

我们已经将SDK完全开源,托管在了github上。Github源码仓库地址是: https://github.com/robopeak/rpusbdisp/tree/master/drivers/usermode-sdk。祝大家玩得开心~

Arduino-Lite, Lightweight AVR library developed by RoboPeak(2)

中文版请看这里

This is the second article in the series, which introduces the installation and usage of the Arduino-Lite.

Arduino-Lite is a lightweight high-performance firmware library for AVR mcus, which is developed based on the original Arduino project. We make it easy to use, just like the Arduino. Compared to the original library, Arduino-Lite generates smaller binaries and perform faster.

Some brief introduction to the Arudino-Lite: Arduino-Lite, Lightweight AVR library used by RoboPeak(1)

1. What are included in Arduino-Lite?

Arduino-Lite hosted on Google Code consists of:

  • Source code of Arduino-Lite firmware library
  • WINAVR (avr-gcc) compiler set
  • Arduino-Lite compiling system
  • Tools
  • Samples and templates

Arduino-Lite users only need to download the package to develop, compile, burn/upload and even debug AVR programs, along with system default text editors(notepad, vim); no third-party library are required. Arduino-Lite, for sure, do not prevent you from using any software or libraries.

2. Download and configure Arduino-Lite

2.1 Get Arduino-Lite

The open source version of Arduino-Lite can be retrived from Google Code:http://code.google.com/p/arduino-lite/。There are two ways to get Arduino-Lite:

  • Compressed Package

In the Download section of our Google Code project page, we released compressed packages of Arduino-Lite, what are named like arduino-lite-r1.0.zip. After downloading, no installation steps are needed, just decompress to some folder.

  • SVN

Check out any revision anonymously from the svn repository hosted on Google Code.

Continue reading Arduino-Lite, Lightweight AVR library developed by RoboPeak(2)

Arduino-Lite, Lightweight AVR library developed by RoboPeak(1)

中文版请看这里

Arduino-Lite is a lightweight high-performance firmware library for AVR MCUs, which is developed based on the original Arduino project. We make it easy to use, just like the Arduino. Compared to the original library, Arduino-Lite generates smaller binaries and perform faster.

And now, we are honored to introduce the Arduino-Lite to the public, and to make it open source.

The open source version of Arduino-Lite can be downloaded at Google Code: http://code.google.com/p/arduino-lite/

This is the first one of the series articles. Detailed usage of Arduino-Lite will be posted soon.

0. Supported Devices

Besides the standard Arduino controller boards based on Atmega328/168, all third-party boards using the following AVR chips are supported. We also published a driver-less AVR/51 programmer called RP USB Connector which is used internally by RoboPeak Team. The firmware of RP USB Connector is also developed with the Arduino-Lite library.

1. Why yet another library, and why to use it

Arduino and Arduino-Lite are both written with C++/C, and based on avr-gcc, but the Arduino-Lite has some pretty advantages:

  • Very very lightweight

Most binaries based on Arduino-Lite are 50% smaller than which based on Arduino.

  • High Efficiency

Many functions provided by Arduino-Lite, such as DIGITAL_WRITE, which is equivalent to the digitalWrite in the Arduino, implemented by only one AVR instruction.

  • More AVR chips and frequencies are supported

Besides Atmega8(A), Atmega168(PA), Atmega328(PA), Atmega1280, Arduino-Lite also supports Attiny2313, Attiny26, Atmega48(PA), Atmega88(PA)

Working frequencies supported by Arduino-Lite are ranging from 1Mhz to 20Mhz.

However, Arduino-Lite advances in following features as well:

  • Self-contained, no third-party tools, compilers or libraries dependencies.

With Arduino-Lite, the only tool you need to develop, compile or burn to devices is the common text editor, which is delivered by most modern operating system.
Avr-gcc(WINAVR) and relative libraries comes with the Arduino-Lite package.

  • Flexible and easy-to-integrate Makefile-based compiling system, but no more Makefile composing or generating operations are required.

The easiest way to create a new Arduino-Lite project is decompress the template and rename it. You can place your code in any place in the project directory. And Arduino-Lite will compile your project properly. You don’t need to modify/compose/generate Makefile anymore.

Continue reading Arduino-Lite, Lightweight AVR library developed by RoboPeak(1)