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:
Sat Jun 18 10:49:12 2016 +0000
Revision:
0:f9b6112278fe
Ethernet for the NUCLEO STM32F746 Board Testprogram uses DHCP and NTP to set the clock

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 #include "Mutex.h"
DieterGraef 0:f9b6112278fe 23
DieterGraef 0:f9b6112278fe 24 #include <string.h>
DieterGraef 0:f9b6112278fe 25 #include "mbed_error.h"
DieterGraef 0:f9b6112278fe 26
DieterGraef 0:f9b6112278fe 27 namespace rtos {
DieterGraef 0:f9b6112278fe 28
DieterGraef 0:f9b6112278fe 29 Mutex::Mutex() {
DieterGraef 0:f9b6112278fe 30 #ifdef CMSIS_OS_RTX
DieterGraef 0:f9b6112278fe 31 memset(_mutex_data, 0, sizeof(_mutex_data));
DieterGraef 0:f9b6112278fe 32 _osMutexDef.mutex = _mutex_data;
DieterGraef 0:f9b6112278fe 33 #endif
DieterGraef 0:f9b6112278fe 34 _osMutexId = osMutexCreate(&_osMutexDef);
DieterGraef 0:f9b6112278fe 35 if (_osMutexId == NULL) {
DieterGraef 0:f9b6112278fe 36 error("Error initializing the mutex object\n");
DieterGraef 0:f9b6112278fe 37 }
DieterGraef 0:f9b6112278fe 38 }
DieterGraef 0:f9b6112278fe 39
DieterGraef 0:f9b6112278fe 40 osStatus Mutex::lock(uint32_t millisec) {
DieterGraef 0:f9b6112278fe 41 return osMutexWait(_osMutexId, millisec);
DieterGraef 0:f9b6112278fe 42 }
DieterGraef 0:f9b6112278fe 43
DieterGraef 0:f9b6112278fe 44 bool Mutex::trylock() {
DieterGraef 0:f9b6112278fe 45 return (osMutexWait(_osMutexId, 0) == osOK);
DieterGraef 0:f9b6112278fe 46 }
DieterGraef 0:f9b6112278fe 47
DieterGraef 0:f9b6112278fe 48 osStatus Mutex::unlock() {
DieterGraef 0:f9b6112278fe 49 return osMutexRelease(_osMutexId);
DieterGraef 0:f9b6112278fe 50 }
DieterGraef 0:f9b6112278fe 51
DieterGraef 0:f9b6112278fe 52 Mutex::~Mutex() {
DieterGraef 0:f9b6112278fe 53 osMutexDelete(_osMutexId);
DieterGraef 0:f9b6112278fe 54 }
DieterGraef 0:f9b6112278fe 55
DieterGraef 0:f9b6112278fe 56 }