Tedd OKANO / Mbed 2 deprecated MARY_CAMERA_Hello

Dependencies:   MARY_CAMERA NokiaLCD mbed

Committer:
okano
Date:
Wed Mar 05 06:36:24 2014 +0000
Revision:
15:c81a197f4f5b
Parent:
14:cc83bb625f92
Child:
16:fa1bd83e34b0
camera status detection by whole data byte

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:1062142e5718 1 #include "mbed.h"
okano 0:1062142e5718 2 #include "MARMEX_OB_oled.h"
okano 4:5e1828a8e238 3 #include "MARY_CAMERA.h"
okano 3:152362acd181 4
okano 4:5e1828a8e238 5 MARMEX_OB_oled oled1( p5, p7, p20, p16, p15 ); // mosi, sclk, cs, rst, power_control -- maple-mini-type-b-slot1
okano 6:f5b4e088087b 6 MARY_CAMERA camera( p5, p6, p7, p22, p26, p28, p27 ); // mosi, miso, sclk, cs, reset, I2C_SDA, I2C_SCL
okano 9:68408189efde 7 BusOut led( LED3, LED4 );
okano 1:ce27bc7b44d4 8
okano 9:68408189efde 9 #define X_OFFSET ((MARY_CAMERA::PIXEL_PER_LINE - MARMEX_OB_oled::WIDTH ) / 2)
okano 9:68408189efde 10 #define Y_OFFSET ((MARY_CAMERA::LINE_PER_FRAME - MARMEX_OB_oled::HEIGHT) / 2)
okano 9:68408189efde 11
okano 9:68408189efde 12 void line_mirroring( short *buf );
okano 0:1062142e5718 13
okano 0:1062142e5718 14 int main()
okano 0:1062142e5718 15 {
okano 6:f5b4e088087b 16 led = 0x3;
okano 6:f5b4e088087b 17
okano 1:ce27bc7b44d4 18 oled1.cls();
okano 1:ce27bc7b44d4 19
okano 9:68408189efde 20 short buf[ MARMEX_OB_oled::WIDTH ];
okano 0:1062142e5718 21
okano 0:1062142e5718 22 while ( 1 ) {
okano 7:380026dd09fd 23
okano 7:380026dd09fd 24 led = 0x1;
okano 4:5e1828a8e238 25 camera.open_transfer();
okano 0:1062142e5718 26
okano 13:52f7b692e00d 27 for ( int line = 0; line < MARMEX_OB_oled::HEIGHT; line++ ) {
okano 13:52f7b692e00d 28 camera.transfer_a_line( buf, line + Y_OFFSET, X_OFFSET, MARMEX_OB_oled::WIDTH );
okano 9:68408189efde 29 line_mirroring( buf );
okano 13:52f7b692e00d 30 oled1.blit565( 0, line, MARMEX_OB_oled::WIDTH, 1, buf );
okano 15:c81a197f4f5b 31 //wait_us( 700 );
okano 0:1062142e5718 32 }
okano 0:1062142e5718 33
okano 4:5e1828a8e238 34 camera.close_transfer();
okano 6:f5b4e088087b 35 led = 0x2;
okano 0:1062142e5718 36 }
okano 0:1062142e5718 37 }
okano 6:f5b4e088087b 38
okano 9:68408189efde 39
okano 9:68408189efde 40 void line_mirroring( short *buf )
okano 9:68408189efde 41 {
okano 9:68408189efde 42 short tmp;
okano 9:68408189efde 43
okano 14:cc83bb625f92 44 #if 1
okano 9:68408189efde 45 for ( int i = 0; i < (MARMEX_OB_oled::WIDTH / 2); i++ ) {
okano 9:68408189efde 46 tmp = buf[ i ];
okano 9:68408189efde 47 buf[ i ] = buf[ (MARMEX_OB_oled::WIDTH - 1) - i ];
okano 9:68408189efde 48 buf[ (MARMEX_OB_oled::WIDTH - 1) - i ] = tmp;
okano 14:cc83bb625f92 49 #else
okano 14:cc83bb625f92 50 for ( int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) {
okano 14:cc83bb625f92 51 buf[ i ] = 0x0;
okano 14:cc83bb625f92 52
okano 14:cc83bb625f92 53 #endif
okano 14:cc83bb625f92 54
okano 9:68408189efde 55 }
okano 9:68408189efde 56 }