Simple integer calculator using FRDM-KL25Z and Adafruit 2.8" TFT with touch \\ "Dentaku" means "Desktop Calculator" in Japanese \\ On 5-Dec-2015, Support for FRDM-K64F, FRDM-K22F, NUCLEO-F411RE added.
Dependencies: SPI_STMPE610 UniGraphic mbed vt100
Yet another simple desktop calculator program, only for integer.
As usual I used FRDM-KL25Z, Adafruit 2.8" TFT with touch and UniGraphic library.
Now works with FRDM-K64F, FRDM-K22F, and NUCLEO-F411RE.
整数計算のみの簡単な電卓プログラムです。
例によって、FRDM-KL25Z, Adafruit 2.8" TFT with touch, そして UniGraphic を使用しています。
FRDM-K64F, FRDM-K22F, NUCLEO-F411RE でも動くようになりました。
main.h
- Committer:
- Rhyme
- Date:
- 2017-03-13
- Revision:
- 3:998ba6618f38
- Parent:
- 2:ddf8d8fffb4f
File content as of revision 3:998ba6618f38:
/** mbed oscilloscope my implementation of a oscillo scope * Copyright (c) 2014, 2015 Motoo Tanaka @ Design Methodology Lab * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #ifndef _MAIN_H_ #define _MAIN_H_ inluded #if defined (TARGET_KL25Z) #define PIN_SCLK PTD1 #define PIN_MISO PTD3 #define PIN_MOSI PTD2 #define PIN_CS_TFT PTD0 #define PIN_DC_TFT PTD5 #define PIN_CS_TSC PTA13 #define PIN_BL_TFT PTC9 #define PIN_CS_SD PTA4 #define PIN_TSC_INTR PTC9 /* place holder */ #define PIN_RESET_TFT PTB10 /* place holder */ #define PIN_ADC_CH0 PTB0 #define PIN_ADC_CH1 PTB2 #elif defined (TARGET_KL46Z) #define PIN_SCLK PTD5 #define PIN_MISO PTD7 #define PIN_MOSI PTD6 #define PIN_CS_TFT PTD4 #define PIN_DC_TFT PTD2 #define PIN_CS_TSC PTA13 #define PIN_BL_TFT PTC9 #define PIN_CS_SD PTA4 #define PIN_TSC_INTR PTC7 /* place holder */ #define PIN_RESET_TFT PTC6 /* place holder */ #define PIN_ADC_CH0 PTB0 #define PIN_ADC_CH1 PTB2 #elif defined (TARGET_K64F) #define PIN_SCLK PTD1 #define PIN_MISO PTD3 #define PIN_MOSI PTD2 #define PIN_CS_TFT PTD0 #define PIN_DC_TFT PTC4 // for board rev E or later #define PIN_CS_TSC PTC12 // for earlier boards use following line // #define PIN_CS_TSC PTA0 #define PIN_BL_TFT PTC3 #define PIN_CS_SD PTB23 #define PIN_TSC_INTR PTC0 /* place holder */ #define PIN_RESET_TFT PTC9 /* place holder */ #define PIN_ADC_CH0 PTB2 #define PIN_ADC_CH1 PTB10 #elif defined (TARGET_K22F) #define PIN_SCLK PTD5 #define PIN_MISO PTD7 #define PIN_MOSI PTD6 #define PIN_CS_TFT PTD4 #define PIN_DC_TFT PTA1 #define PIN_CS_TSC PTB19 #define PIN_BL_TFT PTC6 #define PIN_CS_SD PTA4 #define PIN_TSC_INTR PTC7 /* place holder */ #define PIN_RESET_TFT PTC9 /* place holder */ #define PIN_ADC_CH0 PTB0 #define PIN_ADC_CH1 PTC1 #elif defined (TARGET_NUCLEO_F411RE) #define PIN_SCLK PA_5 #define PIN_MISO PA_6 #define PIN_MOSI PA_7 #define PIN_CS_TFT PB_6 #define PIN_DC_TFT PC_7 #define PIN_CS_TSC PA_9 #define PIN_BL_TFT PA_8 #define PIN_CS_SD PB_5 #define PIN_TSC_INTR PA_8 /* place holder */ #define PIN_RESET_TFT PA_13 /* place holder */ #define PIN_ADC_CH0 PA_0 #define PIN_ADC_CH1 PA_4 #elif defined (TARGET_K20D50M) #define PIN_SCLK PTD1 #define PIN_MISO PTD3 #define PIN_MOSI PTD2 #define PIN_CS_TFT PTC2 #define PIN_DC_TFT PTA2 #define PIN_CS_TSC PTA12 #define PIN_BL_TFT PTC4 #define PIN_CS_SD PTC8 #define PIN_TSC_INTR PTA4 /* place holder */ #define PIN_RESET_TFT PTC7 /* place holder */ #define PIN_ADC_CH0 PTC0 #define PIN_ADC_CH1 PTD6 #elif defined (TARGET_MAX32600MBED) /* I2C */ #define PIN_SCL P2_7 #define PIN_SDA P2_6 /* SPI */ #define PIN_SCLK P2_0 #define PIN_MISO P2_2 #define PIN_MOSI P2_1 #define PIN_CS0 P2_3 /* Interrupt */ #define PIN_INT0 P2_4 #define PIN_INT1 P2_5 #define PIN_INT2 P1_7 #define PIN_INT3 P1_6 #define PIN_INT4 P1_5 #define PIN_INT5 P1_4 /* Analog In */ #define PIN_AN0 AIN_0P #define PIN_AN1 AIN_1P #define PIN_AN2 AIN_2P #define PIN_AN3 AIN_3P #define PIN_AN4 AIN_4P #define PIN_AN5 AIN_5P #define BOARD_NAME "MAX32600MBED" #define PIN_CS_TFT P2_3 // D10 PTD0 #define PIN_DC_TFT P2_4 // D9 PTD5 #define PIN_CS_TSC P2_5 // D8 PTA13 #define PIN_BL_TFT P1_7 // D7 PTC9 #define PIN_CS_SD P1_4 // D4 PTA4 #define PIN_TSC_INTR P5_4 // PTC9 /* place holder */ #define PIN_RESET_TFT P5_5 /// PTB10 /* place holder */ #define PIN_ADC_CH0 AIN_0P // A0 PTB0 #define PIN_ADC_CH1 AIN_2P // A2 PTB2 #else #error TARGET NOT DEFINED #define PIN_SCLK D13 #define PIN_MISO D12 #define PIN_MOSI D11 #define PIN_CS_TFT D10 #define PIN_DC_TFT D9 #define PIN_CS_TSC D8 #define PIN_BL_TFT D7 #define PIN_CS_SD D4 #define PIN_TSC_INTR D5-inside /* place holder */ #define PIN_RESET_TFT D4-inside /* place holder */ #define PIN_ADC_CH0 A0 #define PIN_ADC_CH1 A2 #endif #define CHART_LEN 198 // NOTE: in case MIN_INTERVAL is too small // the program hangs during ADC and timer interrupt #define MIN_INTERVAL 30 #define MAX_INTERVAL 20000 #define NUM_MAX_MENU 20 #define NUM_MAX_ANALOG_CH 2 #define MODE_RUN 1 #define MODE_STOP 0 #define opPlus 0 #define opMinus 1 #define opMul 2 #define opDiv 3 extern vt100 tty ; extern AnalogIn *ach[] ; extern Ticker timer ; extern DigitalOut backlight ; extern ILI9341 TFT ; extern SPI_STMPE610 TSC ; extern TFTMenuItem *menu[] ; extern int numMenu ; extern int num_digit ; extern long prevValue ; extern long topValue ; extern int op ; void display(char *label = 0) ; #endif /* _MAIN_H_ */