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:
- 2015-12-05
- Revision:
- 2:ddf8d8fffb4f
- Parent:
- 0:659a74b77279
- Child:
- 3:998ba6618f38
File content as of revision 2:ddf8d8fffb4f:
/** 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
#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_ */