Initial commit

Dependencies:   FastPWM

Committer:
lypinator
Date:
Wed Sep 16 01:11:49 2020 +0000
Revision:
0:bb348c97df44
Added PWM

Who changed what in which revision?

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