Stéphane Cachat
/
Smoothie
smoothie port to mbed online compiler (smoothieware.org)
Embed:
(wiki syntax)
Show/hide line numbers
SerialConsole.h
00001 /* 00002 This file is part of Smoothie (http://smoothieware.org/). The motion control part is heavily based on Grbl (https://github.com/simen/grbl). 00003 Smoothie is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 00004 Smoothie is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 00005 You should have received a copy of the GNU General Public License along with Smoothie. If not, see <http://www.gnu.org/licenses/>. 00006 */ 00007 00008 #ifndef SERIALCONSOLE_H 00009 #define SERIALCONSOLE_H 00010 00011 #include "libs/Module.h" 00012 #include "mbed.h" 00013 #include "libs/Kernel.h" 00014 #include <vector> 00015 #include <string> 00016 using std::string; 00017 #include "libs/RingBuffer.h" 00018 #include "libs/StreamOutput.h" 00019 00020 00021 #define baud_rate_setting_checksum 10922 00022 00023 class SerialConsole : public Module, public StreamOutput { 00024 public: 00025 SerialConsole( PinName rx_pin, PinName tx_pin, int baud_rate ); 00026 00027 virtual void on_module_loaded(); 00028 void on_serial_char_received(); 00029 virtual void on_main_loop(void * argument); 00030 bool has_char(char letter); 00031 virtual int printf(const char* format, ...); 00032 00033 //string receive_buffer; // Received chars are stored here until a newline character is received 00034 //vector<std::string> received_lines; // Received lines are stored here until they are requested 00035 RingBuffer<char,256> buffer; // Receive buffer 00036 mbed::Serial* serial; 00037 }; 00038 00039 #endif
Generated on Tue Jul 12 2022 14:14:41 by 1.7.2