pengfei wu
/
ESP8266Program
For test
Diff: ArduinoSerial.cpp
- Revision:
- 19:6c8b29734511
- Parent:
- 18:37254b357abd
- Child:
- 20:43451f36281e
--- a/ArduinoSerial.cpp Wed Feb 04 09:07:22 2015 +0000 +++ b/ArduinoSerial.cpp Wed Feb 04 09:28:28 2015 +0000 @@ -1,11 +1,11 @@ #include "ArduinoSerial.h" -LinkedListNode ArduinoSerial::list_head = {NULL, NULL}; -unsigned int ArduinoSerial::instance_counter = 0; +ArduinoSerialLinkedNode ArduinoSerial::ms_list_head = {NULL, NULL}; +unsigned int ArduinoSerial::ms_instance_counter = 0; void ArduinoSerial::uartIrqCallback(void) { - LinkedListNode *p; - for (p = list_head.next; p != &list_head; p = p->next) { + ArduinoSerialLinkedNode *p; + for (p = ms_list_head.next; p != &ms_list_head; p = p->next) { if (p->data != NULL) { while(p->data->readable()) { p->data->write_char(p->data->getc()); @@ -16,20 +16,20 @@ ArduinoSerial::ArduinoSerial(PinName tx, PinName rx):Serial(tx, rx) { - instance_counter++; - if (instance_counter == 1) { - init_list_head_node(&list_head); + ms_instance_counter++; + if (ms_instance_counter == 1) { + initHeadNode(&ms_list_head); } - if (add_node_to_tail(&list_head, this) != NULL) { + if (addNode(&ms_list_head, this) != NULL) { this->attach(&uartIrqCallback); } else { } } ArduinoSerial::~ArduinoSerial(void) { - instance_counter--; - if (del_node_by_data(&list_head, this) != NULL) { + ms_instance_counter--; + if (delNode(&ms_list_head, this) != NULL) { this->attach(NULL); } else { } @@ -41,28 +41,28 @@ } int ArduinoSerial::available(void) { - return (unsigned int)(ARDUINOSERIAL_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % ARDUINOSERIAL_BUFFER_SIZE; + return (unsigned int)(ARDUINOSERIAL_BUFFER_SIZE + m_rx_buffer.head - m_rx_buffer.tail) % ARDUINOSERIAL_BUFFER_SIZE; } /* 清空接收缓冲区的数据 */ void ArduinoSerial::flush(void) { - memset(&rx_buffer, 0, sizeof(rx_buffer)); + memset(&m_rx_buffer, 0, sizeof(m_rx_buffer)); } char ArduinoSerial::read_char(void) { // if the head isn't ahead of the tail, we don't have any characters - if (rx_buffer.head == rx_buffer.tail) { + if (m_rx_buffer.head == m_rx_buffer.tail) { return (char)-1; } else { - unsigned char c = rx_buffer.buffer[rx_buffer.tail]; - rx_buffer.tail = (unsigned int)(rx_buffer.tail + 1) % ARDUINOSERIAL_BUFFER_SIZE; + unsigned char c = m_rx_buffer.buffer[m_rx_buffer.tail]; + m_rx_buffer.tail = (unsigned int)(m_rx_buffer.tail + 1) % ARDUINOSERIAL_BUFFER_SIZE; return c; } } void ArduinoSerial::setTimeout(unsigned long millisecond) { - find_timeout = millisecond; + m_find_timeout = millisecond; } /* 在超时之前, 如果在串口接收数据缓冲区中找到了定长字符串 str 就返回 true, 如果超时, 返回 false */ @@ -71,7 +71,7 @@ String data; char c; unsigned long i; - for (i = 0; i < find_timeout; i++) { + for (i = 0; i < m_find_timeout; i++) { while(available() > 0) { c = read_char(); data += c; @@ -91,19 +91,19 @@ } void ArduinoSerial::write_char(unsigned char c) { - int i = (unsigned int)(rx_buffer.head + 1) % ARDUINOSERIAL_BUFFER_SIZE; + int i = (unsigned int)(m_rx_buffer.head + 1) % ARDUINOSERIAL_BUFFER_SIZE; // if we should be storing the received character into the location // just before the tail (meaning that the head would advance to the // current location of the tail), we're about to overflow the buffer // and so we don't write the character or advance the head. - if (i != rx_buffer.tail) { - rx_buffer.buffer[rx_buffer.head] = c; - rx_buffer.head = i; + if (i != m_rx_buffer.tail) { + m_rx_buffer.buffer[m_rx_buffer.head] = c; + m_rx_buffer.head = i; } } -LinkedListNode *ArduinoSerial::init_list_head_node(LinkedListNode *head) { +ArduinoSerialLinkedNode *ArduinoSerial::initHeadNode(ArduinoSerialLinkedNode *head) { if (head == NULL) { return NULL; } @@ -112,9 +112,9 @@ return head; } -LinkedListNode *ArduinoSerial::add_node_to_tail(LinkedListNode *head, ArduinoSerial* data) { - LinkedListNode *p; - LinkedListNode *node = (LinkedListNode *)malloc(sizeof(LinkedListNode)); +ArduinoSerialLinkedNode *ArduinoSerial::addNode(ArduinoSerialLinkedNode *head, ArduinoSerial* data) { + ArduinoSerialLinkedNode *p; + ArduinoSerialLinkedNode *node = (ArduinoSerialLinkedNode *)malloc(sizeof(ArduinoSerialLinkedNode)); if (node == NULL) { return NULL; } @@ -128,9 +128,9 @@ return head; } -LinkedListNode *ArduinoSerial::del_node_by_data(LinkedListNode *head, ArduinoSerial* data) { - LinkedListNode *p; - LinkedListNode *prev; +ArduinoSerialLinkedNode *ArduinoSerial::delNode(ArduinoSerialLinkedNode *head, ArduinoSerial* data) { + ArduinoSerialLinkedNode *p; + ArduinoSerialLinkedNode *prev; if (head == NULL) { return NULL; @@ -149,8 +149,8 @@ } return head; } -LinkedListNode *ArduinoSerial::find_node_by_data(LinkedListNode *head, ArduinoSerial* data) { - LinkedListNode *p; +ArduinoSerialLinkedNode *ArduinoSerial::findNode(ArduinoSerialLinkedNode *head, ArduinoSerial* data) { + ArduinoSerialLinkedNode *p; if (head == NULL) { return NULL; }