Nathan Yonkee / Mbed 2 deprecated Nucleo_sinewave_output_copy

Dependencies:   mbed

Committer:
Nathan Yonkee
Date:
Fri Mar 02 07:12:37 2018 -0700
Revision:
9:d58e77ebd769
add mbed-os library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nathan Yonkee 9:d58e77ebd769 1 /* mbed Microcontroller Library
Nathan Yonkee 9:d58e77ebd769 2 * Copyright (c) 2006-2013 ARM Limited
Nathan Yonkee 9:d58e77ebd769 3 *
Nathan Yonkee 9:d58e77ebd769 4 * Licensed under the Apache License, Version 2.0 (the "License");
Nathan Yonkee 9:d58e77ebd769 5 * you may not use this file except in compliance with the License.
Nathan Yonkee 9:d58e77ebd769 6 * You may obtain a copy of the License at
Nathan Yonkee 9:d58e77ebd769 7 *
Nathan Yonkee 9:d58e77ebd769 8 * http://www.apache.org/licenses/LICENSE-2.0
Nathan Yonkee 9:d58e77ebd769 9 *
Nathan Yonkee 9:d58e77ebd769 10 * Unless required by applicable law or agreed to in writing, software
Nathan Yonkee 9:d58e77ebd769 11 * distributed under the License is distributed on an "AS IS" BASIS,
Nathan Yonkee 9:d58e77ebd769 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Nathan Yonkee 9:d58e77ebd769 13 * See the License for the specific language governing permissions and
Nathan Yonkee 9:d58e77ebd769 14 * limitations under the License.
Nathan Yonkee 9:d58e77ebd769 15 */
Nathan Yonkee 9:d58e77ebd769 16 #include "drivers/Ethernet.h"
Nathan Yonkee 9:d58e77ebd769 17
Nathan Yonkee 9:d58e77ebd769 18 #if DEVICE_ETHERNET
Nathan Yonkee 9:d58e77ebd769 19
Nathan Yonkee 9:d58e77ebd769 20 #include "hal/ethernet_api.h"
Nathan Yonkee 9:d58e77ebd769 21
Nathan Yonkee 9:d58e77ebd769 22 namespace mbed {
Nathan Yonkee 9:d58e77ebd769 23
Nathan Yonkee 9:d58e77ebd769 24 Ethernet::Ethernet() {
Nathan Yonkee 9:d58e77ebd769 25 ethernet_init();
Nathan Yonkee 9:d58e77ebd769 26 }
Nathan Yonkee 9:d58e77ebd769 27
Nathan Yonkee 9:d58e77ebd769 28 Ethernet::~Ethernet() {
Nathan Yonkee 9:d58e77ebd769 29 ethernet_free();
Nathan Yonkee 9:d58e77ebd769 30 }
Nathan Yonkee 9:d58e77ebd769 31
Nathan Yonkee 9:d58e77ebd769 32 int Ethernet::write(const char *data, int size) {
Nathan Yonkee 9:d58e77ebd769 33 return ethernet_write(data, size);
Nathan Yonkee 9:d58e77ebd769 34 }
Nathan Yonkee 9:d58e77ebd769 35
Nathan Yonkee 9:d58e77ebd769 36 int Ethernet::send() {
Nathan Yonkee 9:d58e77ebd769 37 return ethernet_send();
Nathan Yonkee 9:d58e77ebd769 38 }
Nathan Yonkee 9:d58e77ebd769 39
Nathan Yonkee 9:d58e77ebd769 40 int Ethernet::receive() {
Nathan Yonkee 9:d58e77ebd769 41 return ethernet_receive();
Nathan Yonkee 9:d58e77ebd769 42 }
Nathan Yonkee 9:d58e77ebd769 43
Nathan Yonkee 9:d58e77ebd769 44 int Ethernet::read(char *data, int size) {
Nathan Yonkee 9:d58e77ebd769 45 return ethernet_read(data, size);
Nathan Yonkee 9:d58e77ebd769 46 }
Nathan Yonkee 9:d58e77ebd769 47
Nathan Yonkee 9:d58e77ebd769 48 void Ethernet::address(char *mac) {
Nathan Yonkee 9:d58e77ebd769 49 return ethernet_address(mac);
Nathan Yonkee 9:d58e77ebd769 50 }
Nathan Yonkee 9:d58e77ebd769 51
Nathan Yonkee 9:d58e77ebd769 52 int Ethernet::link() {
Nathan Yonkee 9:d58e77ebd769 53 return ethernet_link();
Nathan Yonkee 9:d58e77ebd769 54 }
Nathan Yonkee 9:d58e77ebd769 55
Nathan Yonkee 9:d58e77ebd769 56 void Ethernet::set_link(Mode mode) {
Nathan Yonkee 9:d58e77ebd769 57 int speed = -1;
Nathan Yonkee 9:d58e77ebd769 58 int duplex = 0;
Nathan Yonkee 9:d58e77ebd769 59
Nathan Yonkee 9:d58e77ebd769 60 switch(mode) {
Nathan Yonkee 9:d58e77ebd769 61 case AutoNegotiate : speed = -1; duplex = 0; break;
Nathan Yonkee 9:d58e77ebd769 62 case HalfDuplex10 : speed = 0; duplex = 0; break;
Nathan Yonkee 9:d58e77ebd769 63 case FullDuplex10 : speed = 0; duplex = 1; break;
Nathan Yonkee 9:d58e77ebd769 64 case HalfDuplex100 : speed = 1; duplex = 0; break;
Nathan Yonkee 9:d58e77ebd769 65 case FullDuplex100 : speed = 1; duplex = 1; break;
Nathan Yonkee 9:d58e77ebd769 66 }
Nathan Yonkee 9:d58e77ebd769 67
Nathan Yonkee 9:d58e77ebd769 68 ethernet_set_link(speed, duplex);
Nathan Yonkee 9:d58e77ebd769 69 }
Nathan Yonkee 9:d58e77ebd769 70
Nathan Yonkee 9:d58e77ebd769 71 } // namespace mbed
Nathan Yonkee 9:d58e77ebd769 72
Nathan Yonkee 9:d58e77ebd769 73 #endif