GR-MANGO sample using mbed-os library from my repository.

Dependencies:   mbed-http

Committer:
RyoheiHagimoto
Date:
Mon Oct 12 02:25:49 2020 +0000
Revision:
0:b4c1e32627f2
replaced mbed-os library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RyoheiHagimoto 0:b4c1e32627f2 1 /*******************************************************************************
RyoheiHagimoto 0:b4c1e32627f2 2 * DISCLAIMER
RyoheiHagimoto 0:b4c1e32627f2 3 * This software is supplied by Renesas Electronics Corporation and is only
RyoheiHagimoto 0:b4c1e32627f2 4 * intended for use with Renesas products. No other uses are authorized. This
RyoheiHagimoto 0:b4c1e32627f2 5 * software is owned by Renesas Electronics Corporation and is protected under
RyoheiHagimoto 0:b4c1e32627f2 6 * all applicable laws, including copyright laws.
RyoheiHagimoto 0:b4c1e32627f2 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
RyoheiHagimoto 0:b4c1e32627f2 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
RyoheiHagimoto 0:b4c1e32627f2 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
RyoheiHagimoto 0:b4c1e32627f2 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
RyoheiHagimoto 0:b4c1e32627f2 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
RyoheiHagimoto 0:b4c1e32627f2 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
RyoheiHagimoto 0:b4c1e32627f2 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
RyoheiHagimoto 0:b4c1e32627f2 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
RyoheiHagimoto 0:b4c1e32627f2 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
RyoheiHagimoto 0:b4c1e32627f2 16 * Renesas reserves the right, without notice, to make changes to this software
RyoheiHagimoto 0:b4c1e32627f2 17 * and to discontinue the availability of this software. By using this software,
RyoheiHagimoto 0:b4c1e32627f2 18 * you agree to the additional terms and conditions found by accessing the
RyoheiHagimoto 0:b4c1e32627f2 19 * following link:
RyoheiHagimoto 0:b4c1e32627f2 20 * http://www.renesas.com/disclaimer
RyoheiHagimoto 0:b4c1e32627f2 21 *
RyoheiHagimoto 0:b4c1e32627f2 22 * Copyright (C) 2019 Renesas Electronics Corporation. All rights reserved.
RyoheiHagimoto 0:b4c1e32627f2 23 *******************************************************************************/
RyoheiHagimoto 0:b4c1e32627f2 24 #include "sample_select.h"
RyoheiHagimoto 0:b4c1e32627f2 25
RyoheiHagimoto 0:b4c1e32627f2 26 #if (SAMPLE_PROGRAM_NO == 0)
RyoheiHagimoto 0:b4c1e32627f2 27 // SAMPLE_PROGRAM_NO 0 : DigitalOut, InterruptIn, RTC, Timer and AnalogIn sample
RyoheiHagimoto 0:b4c1e32627f2 28 //
RyoheiHagimoto 0:b4c1e32627f2 29 // LED1 will blink at 1 second intervals.
RyoheiHagimoto 0:b4c1e32627f2 30 // While pressing USER_BUTTON 0, LED2 lights up.
RyoheiHagimoto 0:b4c1e32627f2 31 // RTC value, Timer value and AD value are displayed every 1 second.
RyoheiHagimoto 0:b4c1e32627f2 32
RyoheiHagimoto 0:b4c1e32627f2 33 #include "mbed.h"
RyoheiHagimoto 0:b4c1e32627f2 34
RyoheiHagimoto 0:b4c1e32627f2 35 DigitalOut led1(LED1);
RyoheiHagimoto 0:b4c1e32627f2 36 DigitalOut led2(LED2);
RyoheiHagimoto 0:b4c1e32627f2 37 InterruptIn button(USER_BUTTON0);
RyoheiHagimoto 0:b4c1e32627f2 38 #if defined(TARGET_RZ_A2M_EVB)
RyoheiHagimoto 0:b4c1e32627f2 39 AnalogIn adin(P5_6); // In TARGET_RZ_A2M_EVB, SW5 and SW4 are connected to P5_6 as AD switches.
RyoheiHagimoto 0:b4c1e32627f2 40 #else
RyoheiHagimoto 0:b4c1e32627f2 41 AnalogIn adin(A0); // For other Mbed boards
RyoheiHagimoto 0:b4c1e32627f2 42 #endif
RyoheiHagimoto 0:b4c1e32627f2 43
RyoheiHagimoto 0:b4c1e32627f2 44 static void button_fall(void) {
RyoheiHagimoto 0:b4c1e32627f2 45 led2 = !led2;
RyoheiHagimoto 0:b4c1e32627f2 46 }
RyoheiHagimoto 0:b4c1e32627f2 47
RyoheiHagimoto 0:b4c1e32627f2 48 static void button_rise(void) {
RyoheiHagimoto 0:b4c1e32627f2 49 led2 = 0;
RyoheiHagimoto 0:b4c1e32627f2 50 }
RyoheiHagimoto 0:b4c1e32627f2 51
RyoheiHagimoto 0:b4c1e32627f2 52 int main(void) {
RyoheiHagimoto 0:b4c1e32627f2 53 // InterruptIn
RyoheiHagimoto 0:b4c1e32627f2 54 button.fall(&button_fall);
RyoheiHagimoto 0:b4c1e32627f2 55 button.rise(&button_rise);
RyoheiHagimoto 0:b4c1e32627f2 56
RyoheiHagimoto 0:b4c1e32627f2 57 // RTC
RyoheiHagimoto 0:b4c1e32627f2 58 set_time(0);
RyoheiHagimoto 0:b4c1e32627f2 59
RyoheiHagimoto 0:b4c1e32627f2 60 // Timer
RyoheiHagimoto 0:b4c1e32627f2 61 Timer tick_timer;
RyoheiHagimoto 0:b4c1e32627f2 62 tick_timer.reset();
RyoheiHagimoto 0:b4c1e32627f2 63 tick_timer.start();
RyoheiHagimoto 0:b4c1e32627f2 64
RyoheiHagimoto 0:b4c1e32627f2 65 while (1) {
RyoheiHagimoto 0:b4c1e32627f2 66 // DigitalOut
RyoheiHagimoto 0:b4c1e32627f2 67 led1 = !led1;
RyoheiHagimoto 0:b4c1e32627f2 68
RyoheiHagimoto 0:b4c1e32627f2 69 // RTC
RyoheiHagimoto 0:b4c1e32627f2 70 time_t seconds = time(NULL); // UTC
RyoheiHagimoto 0:b4c1e32627f2 71 struct tm *t = localtime(&seconds);
RyoheiHagimoto 0:b4c1e32627f2 72 printf("RTC:%02d/%02d/%04d %02d:%02d:%02d\r\n",
RyoheiHagimoto 0:b4c1e32627f2 73 t->tm_mon + 1, t->tm_mday, t->tm_year + 1900, t->tm_hour, t->tm_min, t->tm_sec);
RyoheiHagimoto 0:b4c1e32627f2 74
RyoheiHagimoto 0:b4c1e32627f2 75 // Timer
RyoheiHagimoto 0:b4c1e32627f2 76 printf("Timer:%dms\r\n", tick_timer.read_ms());
RyoheiHagimoto 0:b4c1e32627f2 77
RyoheiHagimoto 0:b4c1e32627f2 78 // AnalogIn
RyoheiHagimoto 0:b4c1e32627f2 79 printf("A/D:%f\r\n", (float)adin);
RyoheiHagimoto 0:b4c1e32627f2 80
RyoheiHagimoto 0:b4c1e32627f2 81 // OS wait 1 second
RyoheiHagimoto 0:b4c1e32627f2 82 ThisThread::sleep_for(1000);
RyoheiHagimoto 0:b4c1e32627f2 83 }
RyoheiHagimoto 0:b4c1e32627f2 84 }
RyoheiHagimoto 0:b4c1e32627f2 85
RyoheiHagimoto 0:b4c1e32627f2 86 #endif