mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-30 16:24:09 +03:00
Merge branch 'new-extension' of https://github.com/arduino/Arduino into new-extension
Conflicts: build/linux/dist/tools/avrdude.conf
This commit is contained in:
@ -10,7 +10,6 @@ public:
|
||||
virtual int connect(IPAddress ip, uint16_t port) =0;
|
||||
virtual int connect(const char *host, uint16_t port) =0;
|
||||
virtual size_t write(uint8_t) =0;
|
||||
virtual size_t write(const char *str) =0;
|
||||
virtual size_t write(const uint8_t *buf, size_t size) =0;
|
||||
virtual int available() = 0;
|
||||
virtual int read() = 0;
|
||||
|
@ -95,7 +95,6 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
#else
|
||||
void serialEvent() __attribute__((weak));
|
||||
void serialEvent() {}
|
||||
volatile static unsigned char serialEvent_flag = 0;
|
||||
#define serialEvent_implemented
|
||||
#if defined(USART_RX_vect)
|
||||
SIGNAL(USART_RX_vect)
|
||||
@ -117,7 +116,6 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
#error UDR not defined
|
||||
#endif
|
||||
store_char(c, &rx_buffer);
|
||||
serialEvent_flag = 1;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@ -125,13 +123,11 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
#if defined(USART1_RX_vect)
|
||||
void serialEvent1() __attribute__((weak));
|
||||
void serialEvent1() {}
|
||||
volatile static unsigned char serialEvent1_flag = 0;
|
||||
#define serialEvent1_implemented
|
||||
SIGNAL(USART1_RX_vect)
|
||||
{
|
||||
unsigned char c = UDR1;
|
||||
store_char(c, &rx_buffer1);
|
||||
serialEvent1_flag = 1;
|
||||
}
|
||||
#elif defined(SIG_USART1_RECV)
|
||||
#error SIG_USART1_RECV
|
||||
@ -140,13 +136,11 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
#if defined(USART2_RX_vect) && defined(UDR2)
|
||||
void serialEvent2() __attribute__((weak));
|
||||
void serialEvent2() {}
|
||||
volatile static unsigned char serialEvent2_flag = 0;
|
||||
#define serialEvent2_implemented
|
||||
SIGNAL(USART2_RX_vect)
|
||||
{
|
||||
unsigned char c = UDR2;
|
||||
store_char(c, &rx_buffer2);
|
||||
serialEvent2_flag = 1;
|
||||
}
|
||||
#elif defined(SIG_USART2_RECV)
|
||||
#error SIG_USART2_RECV
|
||||
@ -155,13 +149,11 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
#if defined(USART3_RX_vect) && defined(UDR3)
|
||||
void serialEvent3() __attribute__((weak));
|
||||
void serialEvent3() {}
|
||||
volatile static unsigned char serialEvent3_flag = 0;
|
||||
#define serialEvent3_implemented
|
||||
SIGNAL(USART3_RX_vect)
|
||||
{
|
||||
unsigned char c = UDR3;
|
||||
store_char(c, &rx_buffer3);
|
||||
serialEvent3_flag = 1;
|
||||
}
|
||||
#elif defined(SIG_USART3_RECV)
|
||||
#error SIG_USART3_RECV
|
||||
@ -169,38 +161,17 @@ inline void store_char(unsigned char c, ring_buffer *buffer)
|
||||
|
||||
void serialEventRun(void)
|
||||
{
|
||||
unsigned char flag, oldSREG;
|
||||
#ifdef serialEvent_implemented
|
||||
oldSREG = SREG;
|
||||
noInterrupts();
|
||||
flag = serialEvent_flag;
|
||||
serialEvent_flag = 0;
|
||||
SREG = oldSREG;
|
||||
if (flag) serialEvent();
|
||||
if (Serial.available()) serialEvent();
|
||||
#endif
|
||||
#ifdef serialEvent1_implemented
|
||||
oldSREG = SREG;
|
||||
noInterrupts();
|
||||
flag = serialEvent1_flag;
|
||||
serialEvent1_flag = 0;
|
||||
SREG = oldSREG;
|
||||
if (flag) serialEvent1();
|
||||
if (Serial1.available()) serialEvent1();
|
||||
#endif
|
||||
#ifdef serialEvent2_implemented
|
||||
oldSREG = SREG;
|
||||
noInterrupts();
|
||||
flag = serialEvent2_flag;
|
||||
serialEvent2_flag = 0;
|
||||
SREG = oldSREG;
|
||||
if (flag) serialEvent2();
|
||||
if (Serial2.available()) serialEvent2();
|
||||
#endif
|
||||
#ifdef serialEvent3_implemented
|
||||
oldSREG = SREG;
|
||||
noInterrupts();
|
||||
flag = serialEvent3_flag;
|
||||
serialEvent3_flag = 0;
|
||||
SREG = oldSREG;
|
||||
if (flag) serialEvent3();
|
||||
if (Serial3.available()) serialEvent3();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -75,6 +75,6 @@ class HardwareSerial : public Stream
|
||||
extern HardwareSerial Serial3;
|
||||
#endif
|
||||
|
||||
extern void serialEventRun(void);
|
||||
extern void serialEventRun(void) __attribute__((weak));
|
||||
|
||||
#endif
|
||||
|
@ -29,16 +29,6 @@
|
||||
|
||||
// Public Methods //////////////////////////////////////////////////////////////
|
||||
|
||||
/* default implementation: may be overridden */
|
||||
size_t Print::write(const char *str)
|
||||
{
|
||||
size_t n = 0;
|
||||
while (*str) {
|
||||
n += write(*str++);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
/* default implementation: may be overridden */
|
||||
size_t Print::write(const uint8_t *buffer, size_t size)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ class Print
|
||||
void clearWriteError() { setWriteError(0); }
|
||||
|
||||
virtual size_t write(uint8_t) = 0;
|
||||
virtual size_t write(const char *str);
|
||||
size_t write(const char *str) { return write((const uint8_t *)str, strlen(str)); }
|
||||
virtual size_t write(const uint8_t *buffer, size_t size);
|
||||
|
||||
size_t print(const __FlashStringHelper *);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef server_h
|
||||
#define server_h
|
||||
|
||||
class Server {
|
||||
class Server : public Print {
|
||||
public:
|
||||
virtual void begin() =0;
|
||||
};
|
||||
|
@ -57,8 +57,6 @@ public:
|
||||
virtual int endPacket() =0;
|
||||
// Write a single byte into the packet
|
||||
virtual size_t write(uint8_t) =0;
|
||||
// Write a string of characters into the packet
|
||||
virtual size_t write(const char *str) =0;
|
||||
// Write size bytes from buffer into the packet
|
||||
virtual size_t write(const uint8_t *buffer, size_t size) =0;
|
||||
|
||||
|
@ -13,7 +13,7 @@ int main(void)
|
||||
|
||||
for (;;) {
|
||||
loop();
|
||||
serialEventRun();
|
||||
if (serialEventRun) serialEventRun();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user