Renewal Sample code, SpeedMeter Demo with MIP8F_SPI_Ver50
Dependencies: mbed MIP8F_SPI_Ver50
Introduction
Renewal Version. Number charactors count up sample like a speed meter of a car with MIP8F_SPI_Ver50
Only for LPM027M128x (400x240) ,JDI DIsplay.
Other information , please refer to https://os.mbed.com/teams/JapanDisplayInc/code/MIP8f_FRDM_sample/
Usage
Copy Setting File and Image to micro SD-CARD. you can NOT use same sample color images of OTHER VERSION SAMPLE.
a) Download the following file corresponding to the target panel, and rename file identifier (.bin -> .zip), and unzip the file on micro SD Card's root directory.
LPM027M128x (400x240) :/media/uploads/JDI_Mbed_Team/speedmeter2-400x240.bin
\SpeedMeter2-400x240 (SD card) (X:)
|-settings2.txt
|-SpeedMeter2-400x240
|- n00021 400x240 navi_mod2.bmp
b) Insert micro SD-CARD to FRDM-K64F. c) Upload binary file to FRDM-K64F.and push Reset Button.
Other information
refer to Usage on https://os.mbed.com/teams/JapanDisplayInc/code/MIP8f_FRDM_sample/
this Sample Code (.bin)
/media/uploads/JDI_Mbed_Team/mip8f_frdm_countupnumber_sample2.k64f.bin
This sample Video
StateSw/StateSW.cpp@0:33fe30a2b785, 2018-09-04 (annotated)
- Committer:
- JDI_Mbed_Team
- Date:
- Tue Sep 04 06:44:01 2018 +0000
- Revision:
- 0:33fe30a2b785
JDI_MIP8F sample
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JDI_Mbed_Team | 0:33fe30a2b785 | 1 | #include "StateSW.h" |
JDI_Mbed_Team | 0:33fe30a2b785 | 2 | #include "mbed.h" |
JDI_Mbed_Team | 0:33fe30a2b785 | 3 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 4 | StateSW::StateSW(PinName SWPin) : _SW(SWPin) {} |
JDI_Mbed_Team | 0:33fe30a2b785 | 5 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 6 | void StateSW::Enable(int StateNum, int NoiseCancel, int OpenTime) { // _PRSCNT -- unit [times] ,_OPNCNT -- unit [s] |
JDI_Mbed_Team | 0:33fe30a2b785 | 7 | _STATENUM = StateNum; |
JDI_Mbed_Team | 0:33fe30a2b785 | 8 | _REPEAT = NoiseCancel; |
JDI_Mbed_Team | 0:33fe30a2b785 | 9 | _OPNCNT = OpenTime; |
JDI_Mbed_Team | 0:33fe30a2b785 | 10 | _preSW = 1; |
JDI_Mbed_Team | 0:33fe30a2b785 | 11 | _PressCount= 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 12 | _IfCntOpen = 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 13 | _IfCntClose= 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 14 | _IfCntState= 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 15 | _IfAtTime = 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 16 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 17 | _StateCounter.attach(this, &StateSW::_SeekPress, 0.05); // Ticker[s] |
JDI_Mbed_Team | 0:33fe30a2b785 | 18 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 19 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 20 | int StateSW::State(void){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 21 | return _State; |
JDI_Mbed_Team | 0:33fe30a2b785 | 22 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 23 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 24 | bool StateSW::IfAtTime(void){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 25 | return _IfAtTime; |
JDI_Mbed_Team | 0:33fe30a2b785 | 26 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 27 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 28 | void StateSW::IfCntState(bool IfCntState){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 29 | _IfCntState = IfCntState; |
JDI_Mbed_Team | 0:33fe30a2b785 | 30 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 31 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 32 | void StateSW::IfCntClose(bool IfCntClose){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 33 | _IfCntClose = IfCntClose; |
JDI_Mbed_Team | 0:33fe30a2b785 | 34 | if(_IfCntClose == 0 ){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 35 | _Timer_SW.stop(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 36 | _Timer_SW.reset(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 37 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 38 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 39 | void StateSW::IfCntOpen(bool IfCntOpen){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 40 | _IfCntOpen = IfCntOpen; |
JDI_Mbed_Team | 0:33fe30a2b785 | 41 | if(_IfCntOpen == 0 ){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 42 | _Timer_SW.stop(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 43 | _Timer_SW.reset(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 44 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 45 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 46 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 47 | /* |
JDI_Mbed_Team | 0:33fe30a2b785 | 48 | void StateSW::Reset(void){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 49 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 50 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 51 | bool StateSW::IfOnetime(void){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 52 | if(IfOnetime==1){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 53 | IfOnetime = 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 54 | return 1; |
JDI_Mbed_Team | 0:33fe30a2b785 | 55 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 56 | else return 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 57 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 58 | */ |
JDI_Mbed_Team | 0:33fe30a2b785 | 59 | void StateSW::_SeekPress(void) { // instead of InterruptIn -- for against noise |
JDI_Mbed_Team | 0:33fe30a2b785 | 60 | if(_preSW != _SW) _PressCount++; |
JDI_Mbed_Team | 0:33fe30a2b785 | 61 | else _PressCount=0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 62 | if(_PressCount > _REPEAT ) { |
JDI_Mbed_Team | 0:33fe30a2b785 | 63 | if(_SW) StateSW::_rise(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 64 | else StateSW::_fall(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 65 | _preSW = _SW; |
JDI_Mbed_Team | 0:33fe30a2b785 | 66 | _PressCount = 0; |
JDI_Mbed_Team | 0:33fe30a2b785 | 67 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 68 | if(_Timer_SW.read() > _OPNCNT){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 69 | _Timer_SW.stop(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 70 | _Timer_SW.reset(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 71 | _IfAtTime =1; |
JDI_Mbed_Team | 0:33fe30a2b785 | 72 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 73 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 74 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 75 | void StateSW::_fall(void) { |
JDI_Mbed_Team | 0:33fe30a2b785 | 76 | if(_IfCntOpen == 1 ){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 77 | _Timer_SW.stop(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 78 | _Timer_SW.reset(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 79 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 80 | if(_IfCntClose== 1 ) _Timer_SW.start(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 81 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 82 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 83 | void StateSW::_rise(void) { |
JDI_Mbed_Team | 0:33fe30a2b785 | 84 | if(_IfCntOpen == 1 ) _Timer_SW.start(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 85 | if(_IfCntClose== 1 ){ |
JDI_Mbed_Team | 0:33fe30a2b785 | 86 | _Timer_SW.stop(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 87 | _Timer_SW.reset(); |
JDI_Mbed_Team | 0:33fe30a2b785 | 88 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 89 | if(_IfCntState) { |
JDI_Mbed_Team | 0:33fe30a2b785 | 90 | _State++; |
JDI_Mbed_Team | 0:33fe30a2b785 | 91 | _State = _State%_STATENUM; |
JDI_Mbed_Team | 0:33fe30a2b785 | 92 | // IfOnetime=1; |
JDI_Mbed_Team | 0:33fe30a2b785 | 93 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 94 | } |
JDI_Mbed_Team | 0:33fe30a2b785 | 95 | |
JDI_Mbed_Team | 0:33fe30a2b785 | 96 |