Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MARY_CAMERA NokiaLCD mbed
main.cpp
- Committer:
- okano
- Date:
- 2014-02-18
- Revision:
- 10:3c8fc9569377
- Parent:
- 9:68408189efde
- Child:
- 11:149993faf2be
File content as of revision 10:3c8fc9569377:
#include "mbed.h" #include "MARMEX_OB_oled.h" #include "MARY_CAMERA.h" MARMEX_OB_oled oled1( p5, p7, p20, p16, p15 ); // mosi, sclk, cs, rst, power_control -- maple-mini-type-b-slot1 MARY_CAMERA camera( p5, p6, p7, p22, p26, p28, p27 ); // mosi, miso, sclk, cs, reset, I2C_SDA, I2C_SCL BusOut led( LED3, LED4 ); #define X_OFFSET ((MARY_CAMERA::PIXEL_PER_LINE - MARMEX_OB_oled::WIDTH ) / 2) #define Y_OFFSET ((MARY_CAMERA::LINE_PER_FRAME - MARMEX_OB_oled::HEIGHT) / 2) void line_mirroring( short *buf ); void save_still_image( char *file_name ); int main() { led = 0x3; oled1.cls(); short buf[ MARMEX_OB_oled::WIDTH ]; save_still_image( "image.bmp" ); while ( 1 ) { led = 0x1; camera.open_transfer(); for ( int line = 0; line < MARMEX_OB_oled::HEIGHT; line++ ) { camera.transfer_a_line( buf, line + Y_OFFSET, X_OFFSET, MARMEX_OB_oled::WIDTH ); line_mirroring( buf ); oled1.blit565( 0, line, MARMEX_OB_oled::WIDTH, 1, buf ); } camera.close_transfer(); led = 0x2; } } void line_mirroring( short *buf ) { short tmp; for ( int i = 0; i < (MARMEX_OB_oled::WIDTH / 2); i++ ) { tmp = buf[ i ]; buf[ i ] = buf[ (MARMEX_OB_oled::WIDTH - 1) - i ]; buf[ (MARMEX_OB_oled::WIDTH - 1) - i ] = tmp; } } #include "bmp_handler.h" void save_still_image( char *file_name ) { short buf[ MARY_CAMERA::PIXEL_PER_LINE ]; if ( open_BMP( file_name ) ) return; camera.open_transfer(); for ( int line = (MARY_CAMERA::LINE_PER_FRAME - 1); 0 <= line; line-- ) { camera.transfer_a_line( buf, line, 0, MARY_CAMERA::PIXEL_PER_LINE ); write_BMP( buf, MARY_CAMERA::PIXEL_PER_LINE ); } camera.close_transfer(); close_BMP(); }