[Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/imote2/test/Display
Display.nc, NONE, 1.1 DisplayM.nc, NONE, 1.1 Makefile, NONE,
1.1 image.h, NONE, 1.1 toolchain.txt, NONE, 1.1
Lama Nachman
lnachman at users.sourceforge.net
Sun Mar 4 22:02:19 PST 2007
Update of /cvsroot/tinyos/tinyos-1.x/contrib/imote2/test/Display
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30999
Added Files:
Display.nc DisplayM.nc Makefile image.h toolchain.txt
Log Message:
Pushed out internal tree
--- NEW FILE: Display.nc ---
configuration Display {
}
implementation {
components Main,
DisplayM,
TimerC,
BluSHC,
SSP2C,
LedsC;
Main.StdControl -> BluSHC.StdControl;
Main.StdControl -> TimerC.StdControl;
Main.StdControl -> DisplayM.StdControl;
DisplayM.Timer -> TimerC.Timer[unique("Timer")];
DisplayM.Leds -> LedsC;
DisplayM.SSP -> SSP2C;
DisplayM.RawData -> SSP2C;
}
--- NEW FILE: DisplayM.nc ---
module DisplayM{
provides {
interface StdControl;
}
uses {
interface Timer;
interface SSP;
interface Leds;
interface BulkTxRx as RawData;
}
}
implementation {
#define DIS_CTL_PIN SSP2_RXD
#define RST_CTL_PIN (94)
#define DB_SIZE 4096 // Display RAM 128x64x4bit
#include "image.h"
TOSH_ASSIGN_PIN(DIS_CTL, A, DIS_CTL_PIN);
TOSH_ASSIGN_PIN(RST_CTL, A, RST_CTL_PIN);
uint8_t db[DB_SIZE];
int ds = 1;
int tim = 0;
int ts;
task void dis_init();
task void dis_start();
command result_t StdControl.init() {
call Leds.init();
call SSP.setMasterSCLK(TRUE);
call SSP.setMasterSFRM(TRUE);
call SSP.setSSPFormat(SSP_SPI);
call SSP.setDataWidth(SSP_8bits);
call SSP.enableInvertedSFRM(FALSE);
call SSP.enableSPIClkHigh(TRUE);
call SSP.shiftSPIClk(TRUE);
call SSP.enableManualRxPinCtrl(TRUE);
call SSP.setClkRate(1); // SPI clock = 13MHz / (x + 1)
TOSH_MAKE_DIS_CTL_OUTPUT();
TOSH_CLR_DIS_CTL_PIN(); // display command mode
TOSH_MAKE_RST_CTL_OUTPUT();
TOSH_CLR_RST_CTL_PIN(); // reset display
return SUCCESS;
}
command result_t StdControl.start() {
call Timer.start(TIMER_ONE_SHOT, 100); // wait 100ms
return SUCCESS;
}
command result_t StdControl.stop() {
call Timer.stop();
return SUCCESS;
}
task void dis_reset() {
TOSH_SET_RST_CTL_PIN(); // disable reset
call Timer.start(TIMER_ONE_SHOT, 100); // wait 100ms
}
task void dis_clear() {
int i, j, dx, ix;
i = 0;
ix = 0;
for (dx = 0; dx < DB_SIZE; dx++) {
if (i == 0) {
db[dx] = (uint8_t)(ib[ix] & 0xff);
i = 1;
} else {
db[dx] = (uint8_t)(ib[ix] >> 8);
i = 0;
j = dx % 64;
if (j < 48) {
ix++;
}
}
if (ix > 1535) {
ix = 1535;
}
}
TOSH_SET_DIS_CTL_PIN(); // data mode
if (call RawData.BulkTransmit(db, DB_SIZE) == FAIL) {
trace(DBG_USR1, "Display init failed\r\n");
} else {
;
}
ts = dx;
}
task void dis_init() {
int ix;
ix = 0;
// SSD0323 Initialization Commands
// Column Addressuint16_t ib[1536] = {
db[ix++] = 0x15; /* Set Column Address */
db[ix++] = 0x00; /* Start = 0 */
db[ix++] = 0x3F; /* End = 127 */
// Row Address
db[ix++] = 0x75; /* Set Row Address */
db[ix++] = 0x00; /* Start = 0 */
db[ix++] = 0x3F; /* End = 63 */
// Contrast Control
db[ix++] = 0x81; /* Set Contrast Control */
db[ix++] = 0x33; /* 0 ~ 127 */
// Current Range
db[ix++] = 0x86; /* Set Current Range 84h:Quarter, 85h:Half, 86h:Full*/
// Re-map
db[ix++] = 0xA0; /* Set Re-map */
db[ix++] = 0x52; /* [0]:MX, [1]:Nibble, [2]:H/V address [4]:MY, [6]:Com Split Odd/Even "1000010"*/
// Display Start Line
db[ix++] = 0xA1; /* Set Display Start Line */
db[ix++] = 0x00; /* Top */
// Display Offset
db[ix++] = 0xA2; /* Set Display Offset */
db[ix++] = 0x40; /* No offset */
// Display Mode
db[ix++] = 0xA4; /* Set Display Mode, A4:Normal, A5:All ON, A6: All OFF, A7:Inverse */
// Multiplex Ratio
db[ix++] = 0xA8; /* Set Multiplex Ratio */
db[ix++] = 0x3F; /* [6:0]16~128, 64 rows=3Fh*/
// Phase Length
db[ix++] = 0xB1; /* Set Phase Length */
db[ix++] = 0x22; /* [3:0]:Phase 1 period of 1~16clocks [7:4]:Phase 2 period of 1~16 clocks POR = 0111 0100 */
// Row Period
db[ix++] = 0xB2; /* Set Row Period */
db[ix++] = 0x46; /* [7:0]:18~255, K=P1+P2+GS15 (POR:4+7+29)*/
// Display Clock Divide{
db[ix++] = 0xB3; /* Set Clock Divide */
db[ix++] = 0x41; /* [3:0]:1~16, [7:4]:0~16 POR = 0000 0001 */
// VSL
db[ix++] = 0xBF; /* Set VSL */
db[ix++] = 0x0D; /* [3:0]:VSL */
// CCOMH
db[ix++] = 0xBE; /* Set VCOMH */
db[ix++] = 0x00; /* [7:0]:VCOMH */
// VP
db[ix++] = 0xBC; /* Set VP */
db[ix++] = 0x0B; /* [7:0]:VP */
// Gamma
db[ix++] = 0xB8; /* Set Gamma with next 8 bytes */
db[ix++] = 0x01; /* L1[2:1] */
db[ix++] = 0x11; /* L3[6:4], L2[2:0] 0001 0001 */
db[ix++] = 0x22; /* L5[6:4], L4[2:0] 0010 0010 */
db[ix++] = 0x32; /* L7[6:4], L6[2:0] 0011 1011 */
db[ix++] = 0x43; /* L9[6:4], L8[2:0] 0100 0100 */
db[ix++] = 0x54; /* LB[6:4], LA[2:0] 0101 0101 */
db[ix++] = 0x65; /* LD[6:4], LC[2:0] 0110 0110 */
db[ix++] = 0x76; /* LF[6:4], LE[2:0] 1000 0111 */
// Set DC-DC
db[ix++] = 0xAD; /* Set DC-DC */
db[ix++] = 0x02; /* 03=ON, 02=Off */
// Display ON/OFF
db[ix++] = 0xAF; /* AF=ON, AE=Sleep Mode */
TOSH_CLR_DIS_CTL_PIN(); // cmd mode
if (call RawData.BulkTransmit(db, ix) == FAIL) {
trace(DBG_USR1, "Display init failed\r\n");
} else {
;
}
ts = ix;
}
async event uint8_t *RawData.BulkReceiveDone(uint8_t *RxBuffer, uint16_t NumBytes) {
return NULL;
}
task void signalBulkTransmitFail() {
trace(DBG_USR1, "BulkTransmit failed\r\n");
}
async event uint8_t *RawData.BulkTransmitDone(uint8_t *TxBuffer, uint16_t NumBytes) {
if (NumBytes != ts) {
call Leds.redOn();
} else {
// call Leds.greenOn();
}
if (ds == 1) {
post dis_clear();
ds = 0;
}
return NULL;
}
async event BulkTxRxBuffer_t *RawData.BulkTxRxDone(BulkTxRxBuffer_t *TxRxBuffer, uint16_t NumBytes) {
return NULL;
}
event result_t Timer.fired() {
// call Leds.redToggle();
switch (tim) {
case 0:
post dis_reset();
tim++;
break;
case 1:
post dis_init();
tim++;
break;
default:
break;
}
return SUCCESS;
}
}
--- NEW FILE: Makefile ---
COMPONENT=Display
include ../Makerules
--- NEW FILE: image.h ---
uint16_t ib[1536] = {
0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf0ff,0xf708,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x77ff,0x8780,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x87ff,0x07ff,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf7ff,0xf08f,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xf8ff,0x8f7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x00ff,0x0808,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x87ff,0x0070,0x0700,0xff78,0xffff,0xffff,0xffff,0xffff,0xffff,0x0ff8,0x700f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x87ff,0x0000,0x7777,0x7077,0x0700,0xff7f,0xffff,0xffff,0xffff,0xffff,0x7ff7,0xf00f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x0770,0xff78,0xffff,0xffff,0x87ff,0x7800,0xffff,0xffff,0xffff,0xffff,0x08f8,0x7708,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0x80ff,0x8f07,0xffff,0xffff,0xffff,0xffff,0x00f8,0xff7f,0xffff,0xffff,0xffff,0x70ff,0x0f00,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0x0780,0xffff,0xffff,0xffff,0xffff,0xffff,0xf8ff,0x8f00,0xffff,0xffff,0xffff,0x8fff,0xf888,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xf7ff,0xff07,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x07f7,0xffff,0xffff,0xf8ff,0x7887,0x7088,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x70ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x80ff,0xff08,0xffff,0xf8ff,0x0000,0x0700,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x08f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8f70,0xffff,0xffff,0x7ff8,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xff70,0xffff,0xffff,0x87ff,0x0070,0x7700,0xff8f,0xffff,0xffff,0x08f7,0xffff,0xffff,0x87ff,0x7f00,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xf7ff,0xff0f,0xffff,0xffff,0x0070,0x7877,0x7077,0x7800,0xffff,0xffff,0x70ff,0xffff,0xffff,0x07f8,0x0777,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x70ff,0xff8f,0xffff,0x70ff,0x8f07,0xffff,0xffff,0x70f8,0xff08,0xffff,0xf7ff,0xff0f,0xffff,0x7ff7,0x80ff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x08f8,0xffff,0xffff,0x0780,0xffff,0xffff,0xffff,0xf8ff,0x7f70,0xffff,0xffff,0xff07,0xffff,0x7ff7,0x80ff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x7ff0,0xffff,0xf7ff,0xff07,0xffff,0xffff,0xffff,0xffff,0x00f8,0xffff,0xffff,0x8f80,0xffff,0x07f8,0x0787,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xff70,0xffff,0x70ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xf0ff,0xff0f,0xffff,0x0ff7,0xffff,0x80ff,0x7f00,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xff08,0xffff,0x08f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xff70,0xffff,0x07ff,0xffff,0xf8ff,0x8888,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xf7ff,0xff0f,0xffff,0x7f80,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x7ff0,0xffff,0x70ff,0xffff,0x00f8,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xf0ff,0xff8f,0xffff,0xff07,0xffff,0xffff,0x77f8,0x8f77,0xffff,0xffff,0x07ff,0xffff,0xf0ff,0xff7f,0x78f7,0x8888,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0x80ff,0xffff,0xf7ff,0xff0f,0xffff,0x87ff,0x0000,0x0000,0xff7f,0xffff,0x80ff,0xffff,0xf7ff,0xff7f,0x7ff8,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0x77ff,0xffff,0xf0ff,0xff8f,0xffff,0x07f7,0xff8f,0xf7ff,0x8f00,0xffff,0xf7ff,0xff7f,0xffff,0xff0f,0x07ff,0x7777,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x70ff,0xffff,0xffff,0x8f70,0xffff,0xffff,0x08f7,0xffff,0xf8ff,0xff0f,0xffff,0xffff,0x00f8,0x0700,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x78ff,0xffff,0xf7ff,0xff0f,0xffff,0xffff,0x70ff,0xffff,0xffff,0xff78,0xffff,0xffff,0x7ff7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x80ff,0xff8f,0xffff,0xffff,0xf7ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0x08f8,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xff8f,0xffff,0xffff,0xffff,0xffff,0x00f8,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x88ff,0x8888,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x77f7,0x8f77,0xf8ff,0x7777,0x7777,0x7777,0x7777,0x7777,0x7777,0x7777,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x00f0,0x7f00,0xf8ff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x00f0,0x7f00,0xf8ff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x00f0,0x7f00,0xf8ff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x00f0,0x7f00,0xf8ff,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x77f7,0x8f77,0xf8ff,0x7777,0x7777,0x7777,0x7777,0x7777,0x7777,0x7777,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x88ff,0xffff,0xffff,0xffff,0xffff,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x80ff,0xffff,0xffff,0xffff,0xf7ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x78ff,0xffff,0xf7ff,0xff0f,0xffff,0xffff,0x70ff,0xffff,0xffff,0xff78,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0x8fff,0xffff,0x77ff,0xffff,0xffff,0x8f00,0xffff,0xffff,0x08f7,0xffff,0xf8ff,0xff08,0xffff,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0x77ff,0xffff,0xf0ff,0xff8f,0xffff,0x07f7,0xff8f,0xf7ff,0x8f00,0xffff,0xf7ff,0xff7f,0xffff,0xff08,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0x80ff,0xffff,0xf7ff,0xff0f,0xffff,0x80ff,0x7700,0x0070,0xff7f,0xffff,0x80ff,0xff8f,0xf7ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xf0ff,0xff8f,0xffff,0xff07,0xffff,0xffff,0x7787,0x8f77,0xffff,0xffff,0x07ff,0xffff,0xf0ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xf7ff,0xff0f,0xffff,0x8f80,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x0ff7,0xffff,0x80ff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xff08,0xffff,0x08f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xff70,0xffff,0x07ff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xff70,0xffff,0x70ff,0xff7f,0xffff,0xffff,0xffff,0xffff,0xf7ff,0xff08,0xffff,0x0ff7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x7ff0,0xffff,0xf7ff,0xff07,0xffff,0xffff,0xffff,0xffff,0x00f8,0xffff,0xffff,0x8f80,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x08f8,0xffff,0xffff,0x0780,0xffff,0xffff,0xffff,0xffff,0x7f70,0xffff,0xffff,0xff07,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0x70ff,0xff8f,0xffff,0x70ff,0xff07,0xffff,0xffff,0x70f8,0xff08,0xffff,0xf7ff,0xff0f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xf7ff,0xff0f,0xffff,0xffff,0x0070,0x8877,0x7788,0x7800,0xffff,0xffff,0x70ff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xff70,0xffff,0xffff,0x87ff,0x0070,0x0700,0xff8f,0xffff,0xffff,0x08f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x08f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x8f70,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0x70ff,0xff8f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x80ff,0xff08,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xf7ff,0xff07,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x07f7,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0x0780,0xffff,0xffff,0xffff,0xffff,0xffff,0xf8ff,0x7f00,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0x70ff,0xff07,0xffff,0xffff,0xffff,0xffff,0x00f8,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x0770,0xff78,0xffff,0xffff,0x87ff,0x7800,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0x87ff,0x0000,0x7877,0x7777,0x0700,0xff7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x87f8,0x0070,0x0700,0xff78,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
};
--- NEW FILE: toolchain.txt ---
Toolchain to create an Imote2 image (for 96x64x4bit OLED display)
1. Resize image to 96x64 pixels (colums x rows)
2. Convert image to 4-bit grayscale BMP (16 levels), e.g. with MS Paint
3. Convert to text with "od -x -j 118 -v --width=48 img.bmp > img.od"
4. Reverse file with "tac img.od > img.odr"
5. Edit img.odr, e.g., with Emacs:
Remove addresses with set-mark, kill-rectangle
Add header: "uint16_t ib[1536] = {"
Add trailer: "};"
Replace spaces " " with ",0x" after the first one (replace-regexp)
6. Save as "img.h"
7. Include in "FileM.nc" file below "implementation"
More information about the Tinyos-contrib-commits
mailing list