Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
Diff: CAN.h
- Revision:
- 43:e2ed12d17f06
- Parent:
- 33:5364839841bd
- Child:
- 44:24d45a770a51
--- a/CAN.h Wed Aug 29 12:44:47 2012 +0100 +++ b/CAN.h Fri Oct 26 17:40:46 2012 +0100 @@ -21,15 +21,13 @@ namespace mbed { -/* Class: CANMessage - * +/** CANMessage class */ class CANMessage : public CAN_Message { public: - /* Constructor: CANMessage - * Creates empty CAN message. + /** Creates empty CAN message. */ CANMessage() { len = 8; @@ -39,8 +37,7 @@ memset(data, 0, 8); } - /* Constructor: CANMessage - * Creates CAN message with specific content. + /** Creates CAN message with specific content. */ CANMessage(int _id, const char *_data, char _len = 8, CANType _type = CANData, CANFormat _format = CANStandard) { len = _len & 0xF; @@ -50,8 +47,7 @@ memcpy(data, _data, _len); } - /* Constructor: CANMessage - * Creates CAN remote message. + /** Creates CAN remote message. */ CANMessage(int _id, CANFormat _format = CANStandard) { len = 0; @@ -62,30 +58,26 @@ } #if 0 // Inhereted from CAN_Message, for documentation only - /* Variable: id - * The message id. + /** The message id. * - * If format is CANStandard it must be an 11 bit long id - * If format is CANExtended it must be an 29 bit long id + * - If format is CANStandard it must be an 11 bit long id. + * - If format is CANExtended it must be an 29 bit long id. */ unsigned int id; - /* Variable: data - * Space for 8 byte payload. + /** Space for 8 byte payload. * * If type is CANData data can store up to 8 byte data. */ unsigned char data[8]; - /* Variable: len - * Length of data in bytes. + /** Length of data in bytes. * * If type is CANData data can store up to 8 byte data. */ unsigned char len; - /* Variable: format - * Defines if the message has standard or extended format. + /** Defines if the message has standard or extended format. * * Defines the type of message id: * Default is CANStandard which implies 11 bit id. @@ -93,8 +85,7 @@ */ CANFormat format; - /* Variable: type - * Defines the type of a message. + /** Defines the type of a message. * * The message type can rather be CANData for a message with data (default). * Or CANRemote for a request of a specific CAN message. @@ -103,128 +94,115 @@ #endif }; -/* Class: CAN - * A can bus client, used for communicating with can devices +/** A can bus client, used for communicating with can devices */ class CAN : public Base { public: - /* Constructor: CAN - * Creates an CAN interface connected to specific pins. + /** Creates an CAN interface connected to specific pins. + * + * @param rd read from transmitter + * @param td transmit to transmitter * * Example: - * > #include "mbed.h" - * > - * > Ticker ticker; - * > DigitalOut led1(LED1); - * > DigitalOut led2(LED2); - * > CAN can1(p9, p10); - * > CAN can2(p30, p29); - * > - * > char counter = 0; - * > - * > void send() { - * > if(can1.write(CANMessage(1337, &counter, 1))) { - * > printf("Message sent: %d\n", counter); - * > counter++; - * > } - * > led1 = !led1; - * > } - * > - * > int main() { - * > ticker.attach(&send, 1); - * > CANMessage msg; - * > while(1) { - * > if(can2.read(msg)) { - * > printf("Message received: %d\n\n", msg.data[0]); - * > led2 = !led2; - * > } - * > wait(0.2); - * > } - * > } - * - * Variables: - * rd - read from transmitter - * td - transmit to transmitter + * @code + * #include "mbed.h" + * + * Ticker ticker; + * DigitalOut led1(LED1); + * DigitalOut led2(LED2); + * CAN can1(p9, p10); + * CAN can2(p30, p29); + * + * char counter = 0; + * + * void send() { + * if(can1.write(CANMessage(1337, &counter, 1))) { + * printf("Message sent: %d\n", counter); + * counter++; + * } + * led1 = !led1; + * } + * + * int main() { + * ticker.attach(&send, 1); + * CANMessage msg; + * while(1) { + * if(can2.read(msg)) { + * printf("Message received: %d\n\n", msg.data[0]); + * led2 = !led2; + * } + * wait(0.2); + * } + * } + * @endcode */ CAN(PinName rd, PinName td); virtual ~CAN(); - /* Function: frequency - * Set the frequency of the CAN interface + /** Set the frequency of the CAN interface + * + * @param hz The bus frequency in hertz * - * Variables: - * hz - The bus frequency in hertz - * returns - 1 if successful, 0 otherwise + * @returns + * 1 if successful, + * 0 otherwise */ int frequency(int hz); - /* Function: write - * Write a CANMessage to the bus. + /** Write a CANMessage to the bus. + * + * @param msg The CANMessage to write. * - * Variables: - * msg - The CANMessage to write. - * - * Returns: - * 0 - If write failed. - * 1 - If write was successful. + * @returns + * 0 if write failed, + * 1 if write was successful */ int write(CANMessage msg); - /* Function: read - * Read a CANMessage from the bus. + /** Read a CANMessage from the bus. * - * Variables: - * msg - A CANMessage to read to. + * @param msg A CANMessage to read to. * - * Returns: - * 0 - If no message arrived. - * 1 - If message arrived. + * @returns + * 0 if no message arrived, + * 1 if message arrived */ int read(CANMessage &msg); - /* Function: reset - * Reset CAN interface. + /** Reset CAN interface. * * To use after error overflow. */ void reset(); - /* Function: monitor - * Puts or removes the CAN interface into silent monitoring mode + /** Puts or removes the CAN interface into silent monitoring mode * - * Variables: - * silent - boolean indicating whether to go into silent mode or not + * @param silent boolean indicating whether to go into silent mode or not */ void monitor(bool silent); - /* Function: rderror - * Returns number of read errors to detect read overflow errors. + /** Returns number of read errors to detect read overflow errors. */ unsigned char rderror(); - /* Function: tderror - * Returns number of write errors to detect write overflow errors. + /** Returns number of write errors to detect write overflow errors. */ unsigned char tderror(); - /* Function: attach - * Attach a function to call whenever a CAN frame received interrupt is + /** Attach a function to call whenever a CAN frame received interrupt is * generated. * - * Variables: - * fptr - A pointer to a void function, or 0 to set as none + * @param fptr A pointer to a void function, or 0 to set as none */ void attach(void (*fptr)(void)); - /* Function attach - * Attach a member function to call whenever a CAN frame received interrupt + /** Attach a member function to call whenever a CAN frame received interrupt * is generated. * - * Variables: - * tptr - pointer to the object to call the member function on - * mptr - pointer to the member function to be called + * @param tptr pointer to the object to call the member function on + * @param mptr pointer to the member function to be called */ template<typename T> void attach(T* tptr, void (T::*mptr)(void)) {