Ethernet for the NUCLEO STM32F746 Board Testprogram uses DHCP and NTP to set the clock. At the moment there are dependencies to the used compiler. It works with the online compiler

Dependencies:   F7_Ethernet mbed

Committer:
DieterGraef
Date:
Thu Jun 23 09:07:47 2016 +0000
Revision:
2:bcf5290d42bf
Parent:
0:f9b6112278fe
Corrected MAC issue

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DieterGraef 0:f9b6112278fe 1 /* mbed Microcontroller Library
DieterGraef 0:f9b6112278fe 2 * Copyright (c) 2006-2012 ARM Limited
DieterGraef 0:f9b6112278fe 3 *
DieterGraef 0:f9b6112278fe 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
DieterGraef 0:f9b6112278fe 5 * of this software and associated documentation files (the "Software"), to deal
DieterGraef 0:f9b6112278fe 6 * in the Software without restriction, including without limitation the rights
DieterGraef 0:f9b6112278fe 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
DieterGraef 0:f9b6112278fe 8 * copies of the Software, and to permit persons to whom the Software is
DieterGraef 0:f9b6112278fe 9 * furnished to do so, subject to the following conditions:
DieterGraef 0:f9b6112278fe 10 *
DieterGraef 0:f9b6112278fe 11 * The above copyright notice and this permission notice shall be included in
DieterGraef 0:f9b6112278fe 12 * all copies or substantial portions of the Software.
DieterGraef 0:f9b6112278fe 13 *
DieterGraef 0:f9b6112278fe 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
DieterGraef 0:f9b6112278fe 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
DieterGraef 0:f9b6112278fe 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
DieterGraef 0:f9b6112278fe 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
DieterGraef 0:f9b6112278fe 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
DieterGraef 0:f9b6112278fe 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
DieterGraef 0:f9b6112278fe 20 * SOFTWARE.
DieterGraef 0:f9b6112278fe 21 */
DieterGraef 0:f9b6112278fe 22 #ifndef RTOS_TIMER_H
DieterGraef 0:f9b6112278fe 23 #define RTOS_TIMER_H
DieterGraef 0:f9b6112278fe 24
DieterGraef 0:f9b6112278fe 25 #include <stdint.h>
DieterGraef 0:f9b6112278fe 26 #include "cmsis_os.h"
DieterGraef 0:f9b6112278fe 27
DieterGraef 0:f9b6112278fe 28 namespace rtos {
DieterGraef 0:f9b6112278fe 29
DieterGraef 0:f9b6112278fe 30 /** The RtosTimer class allow creating and and controlling of timer functions in the system.
DieterGraef 0:f9b6112278fe 31 A timer function is called when a time period expires whereby both on-shot and
DieterGraef 0:f9b6112278fe 32 periodic timers are possible. A timer can be started, restarted, or stopped.
DieterGraef 0:f9b6112278fe 33
DieterGraef 0:f9b6112278fe 34 Timers are handled in the thread osTimerThread.
DieterGraef 0:f9b6112278fe 35 Callback functions run under control of this thread and may use CMSIS-RTOS API calls.
DieterGraef 0:f9b6112278fe 36 */
DieterGraef 0:f9b6112278fe 37 class RtosTimer {
DieterGraef 0:f9b6112278fe 38 public:
DieterGraef 0:f9b6112278fe 39 /** Create and Start timer.
DieterGraef 0:f9b6112278fe 40 @param task name of the timer call back function.
DieterGraef 0:f9b6112278fe 41 @param type osTimerOnce for one-shot or osTimerPeriodic for periodic behaviour. (default: osTimerPeriodic)
DieterGraef 0:f9b6112278fe 42 @param argument argument to the timer call back function. (default: NULL)
DieterGraef 0:f9b6112278fe 43 */
DieterGraef 0:f9b6112278fe 44 RtosTimer(void (*task)(void const *argument),
DieterGraef 0:f9b6112278fe 45 os_timer_type type=osTimerPeriodic,
DieterGraef 0:f9b6112278fe 46 void *argument=NULL);
DieterGraef 0:f9b6112278fe 47
DieterGraef 0:f9b6112278fe 48 /** Stop the timer.
DieterGraef 0:f9b6112278fe 49 @return status code that indicates the execution status of the function.
DieterGraef 0:f9b6112278fe 50 */
DieterGraef 0:f9b6112278fe 51 osStatus stop(void);
DieterGraef 0:f9b6112278fe 52
DieterGraef 0:f9b6112278fe 53 /** start a timer.
DieterGraef 0:f9b6112278fe 54 @param millisec time delay value of the timer.
DieterGraef 0:f9b6112278fe 55 @return status code that indicates the execution status of the function.
DieterGraef 0:f9b6112278fe 56 */
DieterGraef 0:f9b6112278fe 57 osStatus start(uint32_t millisec);
DieterGraef 0:f9b6112278fe 58
DieterGraef 0:f9b6112278fe 59 ~RtosTimer();
DieterGraef 0:f9b6112278fe 60
DieterGraef 0:f9b6112278fe 61 private:
DieterGraef 0:f9b6112278fe 62 osTimerId _timer_id;
DieterGraef 0:f9b6112278fe 63 osTimerDef_t _timer;
DieterGraef 0:f9b6112278fe 64 #if defined(CMSIS_OS_RTX) && !defined(__MBED_CMSIS_RTOS_CM)
DieterGraef 0:f9b6112278fe 65 uint32_t _timer_data[5];
DieterGraef 0:f9b6112278fe 66 #else
DieterGraef 0:f9b6112278fe 67 uint32_t _timer_data[6];
DieterGraef 0:f9b6112278fe 68 #endif
DieterGraef 0:f9b6112278fe 69 };
DieterGraef 0:f9b6112278fe 70
DieterGraef 0:f9b6112278fe 71 }
DieterGraef 0:f9b6112278fe 72
DieterGraef 0:f9b6112278fe 73 #endif