code ax12 petit robot 12/05/2017

Fork of command_AX12_petit_robot_V3 by CRAC Team

Committer:
ClementBreteau
Date:
Fri May 12 14:35:09 2017 +0000
Revision:
7:ad4a19e26b84
Parent:
2:99b1cb0d9f5e
position ax12

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SquirrelGod 2:99b1cb0d9f5e 1 /* mbed Microcontroller Library - AnalogOut
SquirrelGod 2:99b1cb0d9f5e 2 * Copyright (c) 2006-2011 ARM Limited. All rights reserved.
SquirrelGod 2:99b1cb0d9f5e 3 */
SquirrelGod 2:99b1cb0d9f5e 4
SquirrelGod 2:99b1cb0d9f5e 5 #ifndef MBED_ANALOGOUT_H
SquirrelGod 2:99b1cb0d9f5e 6 #define MBED_ANALOGOUT_H
SquirrelGod 2:99b1cb0d9f5e 7
SquirrelGod 2:99b1cb0d9f5e 8 #include "device.h"
SquirrelGod 2:99b1cb0d9f5e 9
SquirrelGod 2:99b1cb0d9f5e 10 #if DEVICE_ANALOGOUT
SquirrelGod 2:99b1cb0d9f5e 11
SquirrelGod 2:99b1cb0d9f5e 12 #include "platform.h"
SquirrelGod 2:99b1cb0d9f5e 13 #include "PinNames.h"
SquirrelGod 2:99b1cb0d9f5e 14 #include "PeripheralNames.h"
SquirrelGod 2:99b1cb0d9f5e 15 #include "Base.h"
SquirrelGod 2:99b1cb0d9f5e 16
SquirrelGod 2:99b1cb0d9f5e 17 namespace mbed {
SquirrelGod 2:99b1cb0d9f5e 18
SquirrelGod 2:99b1cb0d9f5e 19 /* Class: AnalogOut
SquirrelGod 2:99b1cb0d9f5e 20 * An analog output, used for setting the voltage on a pin
SquirrelGod 2:99b1cb0d9f5e 21 *
SquirrelGod 2:99b1cb0d9f5e 22 * Example:
SquirrelGod 2:99b1cb0d9f5e 23 * > // Make a sawtooth output
SquirrelGod 2:99b1cb0d9f5e 24 * >
SquirrelGod 2:99b1cb0d9f5e 25 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 26 * >
SquirrelGod 2:99b1cb0d9f5e 27 * > AnalogOut tri(p18);
SquirrelGod 2:99b1cb0d9f5e 28 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 29 * > while(1) {
SquirrelGod 2:99b1cb0d9f5e 30 * > tri = tri + 0.01;
SquirrelGod 2:99b1cb0d9f5e 31 * > wait_us(1);
SquirrelGod 2:99b1cb0d9f5e 32 * > if(tri == 1) {
SquirrelGod 2:99b1cb0d9f5e 33 * > tri = 0;
SquirrelGod 2:99b1cb0d9f5e 34 * > }
SquirrelGod 2:99b1cb0d9f5e 35 * > }
SquirrelGod 2:99b1cb0d9f5e 36 * > }
SquirrelGod 2:99b1cb0d9f5e 37 */
SquirrelGod 2:99b1cb0d9f5e 38 class AnalogOut : public Base {
SquirrelGod 2:99b1cb0d9f5e 39
SquirrelGod 2:99b1cb0d9f5e 40 public:
SquirrelGod 2:99b1cb0d9f5e 41
SquirrelGod 2:99b1cb0d9f5e 42 /* Constructor: AnalogOut
SquirrelGod 2:99b1cb0d9f5e 43 * Create an AnalogOut connected to the specified pin
SquirrelGod 2:99b1cb0d9f5e 44 *
SquirrelGod 2:99b1cb0d9f5e 45 * Variables:
SquirrelGod 2:99b1cb0d9f5e 46 * pin - AnalogOut pin to connect to (18)
SquirrelGod 2:99b1cb0d9f5e 47 */
SquirrelGod 2:99b1cb0d9f5e 48 AnalogOut(PinName pin, const char *name = NULL);
SquirrelGod 2:99b1cb0d9f5e 49
SquirrelGod 2:99b1cb0d9f5e 50 /* Function: write
SquirrelGod 2:99b1cb0d9f5e 51 * Set the output voltage, specified as a percentage (float)
SquirrelGod 2:99b1cb0d9f5e 52 *
SquirrelGod 2:99b1cb0d9f5e 53 * Variables:
SquirrelGod 2:99b1cb0d9f5e 54 * percent - A floating-point value representing the output voltage,
SquirrelGod 2:99b1cb0d9f5e 55 * specified as a percentage. The value should lie between
SquirrelGod 2:99b1cb0d9f5e 56 * 0.0f (representing 0v / 0%) and 1.0f (representing 3.3v / 100%).
SquirrelGod 2:99b1cb0d9f5e 57 * Values outside this range will be saturated to 0.0f or 1.0f.
SquirrelGod 2:99b1cb0d9f5e 58 */
SquirrelGod 2:99b1cb0d9f5e 59 void write(float value);
SquirrelGod 2:99b1cb0d9f5e 60
SquirrelGod 2:99b1cb0d9f5e 61 /* Function: write_u16
SquirrelGod 2:99b1cb0d9f5e 62 * Set the output voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
SquirrelGod 2:99b1cb0d9f5e 63 *
SquirrelGod 2:99b1cb0d9f5e 64 * Variables:
SquirrelGod 2:99b1cb0d9f5e 65 * value - 16-bit unsigned short representing the output voltage,
SquirrelGod 2:99b1cb0d9f5e 66 * normalised to a 16-bit value (0x0000 = 0v, 0xFFFF = 3.3v)
SquirrelGod 2:99b1cb0d9f5e 67 */
SquirrelGod 2:99b1cb0d9f5e 68 void write_u16(unsigned short value);
SquirrelGod 2:99b1cb0d9f5e 69
SquirrelGod 2:99b1cb0d9f5e 70 /* Function: read
SquirrelGod 2:99b1cb0d9f5e 71 * Return the current output voltage setting, measured as a percentage (float)
SquirrelGod 2:99b1cb0d9f5e 72 *
SquirrelGod 2:99b1cb0d9f5e 73 * Variables:
SquirrelGod 2:99b1cb0d9f5e 74 * returns - A floating-point value representing the current voltage being output on the pin,
SquirrelGod 2:99b1cb0d9f5e 75 * measured as a percentage. The returned value will lie between
SquirrelGod 2:99b1cb0d9f5e 76 * 0.0f (representing 0v / 0%) and 1.0f (representing 3.3v / 100%).
SquirrelGod 2:99b1cb0d9f5e 77 *
SquirrelGod 2:99b1cb0d9f5e 78 * Note:
SquirrelGod 2:99b1cb0d9f5e 79 * This value may not match exactly the value set by a previous <write>.
SquirrelGod 2:99b1cb0d9f5e 80 */
SquirrelGod 2:99b1cb0d9f5e 81 float read();
SquirrelGod 2:99b1cb0d9f5e 82
SquirrelGod 2:99b1cb0d9f5e 83
SquirrelGod 2:99b1cb0d9f5e 84 #ifdef MBED_OPERATORS
SquirrelGod 2:99b1cb0d9f5e 85 /* Function: operator=
SquirrelGod 2:99b1cb0d9f5e 86 * An operator shorthand for <write()>
SquirrelGod 2:99b1cb0d9f5e 87 */
SquirrelGod 2:99b1cb0d9f5e 88 AnalogOut& operator= (float percent);
SquirrelGod 2:99b1cb0d9f5e 89 AnalogOut& operator= (AnalogOut& rhs);
SquirrelGod 2:99b1cb0d9f5e 90
SquirrelGod 2:99b1cb0d9f5e 91 /* Function: operator float()
SquirrelGod 2:99b1cb0d9f5e 92 * An operator shorthand for <read()>
SquirrelGod 2:99b1cb0d9f5e 93 */
SquirrelGod 2:99b1cb0d9f5e 94 operator float();
SquirrelGod 2:99b1cb0d9f5e 95 #endif
SquirrelGod 2:99b1cb0d9f5e 96
SquirrelGod 2:99b1cb0d9f5e 97 #ifdef MBED_RPC
SquirrelGod 2:99b1cb0d9f5e 98 virtual const struct rpc_method *get_rpc_methods();
SquirrelGod 2:99b1cb0d9f5e 99 static struct rpc_class *get_rpc_class();
SquirrelGod 2:99b1cb0d9f5e 100 #endif
SquirrelGod 2:99b1cb0d9f5e 101
SquirrelGod 2:99b1cb0d9f5e 102 protected:
SquirrelGod 2:99b1cb0d9f5e 103
SquirrelGod 2:99b1cb0d9f5e 104 DACName _dac;
SquirrelGod 2:99b1cb0d9f5e 105
SquirrelGod 2:99b1cb0d9f5e 106 };
SquirrelGod 2:99b1cb0d9f5e 107
SquirrelGod 2:99b1cb0d9f5e 108 } // namespace mbed
SquirrelGod 2:99b1cb0d9f5e 109
SquirrelGod 2:99b1cb0d9f5e 110 #endif
SquirrelGod 2:99b1cb0d9f5e 111
SquirrelGod 2:99b1cb0d9f5e 112 #endif