Skip to content

Commit dbc37bd

Browse files
committed
checkins a plenty.
1 parent ed1ef94 commit dbc37bd

File tree

6 files changed

+40
-30
lines changed

6 files changed

+40
-30
lines changed

lib/device/adamnet/printer.cpp

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ void printerTask(void *param)
3030

3131
while(1)
3232
{
33-
if ((ptr != nullptr) && (!buf.empty()))
33+
if ((ptr != nullptr) && (ptr->bpos>0))
3434
{
3535
taskActive=true;
36-
memcpy(ptr->getPrinterPtr()->provideBuffer(),buf.data(),buf.size());
37-
ptr->getPrinterPtr()->process(buf.size(),0,0);
38-
buf.clear();
36+
ptr->getPrinterPtr()->process(ptr->bpos,0,0);
37+
ptr->bpos=0;
3938
taskActive=false;
4039
}
40+
4141
vPortYield();
4242
}
4343
}
@@ -98,16 +98,11 @@ void adamPrinter::adamnet_control_send()
9898
uint8_t ck = adamnet_recv(); // ck
9999

100100
AdamNet.start_time = esp_timer_get_time();
101-
102-
if (adamnet_checksum(_buffer,s) == ck)
103-
adamnet_response_ack();
104-
else
105-
adamnet_response_nack();
101+
adamnet_response_ack();
106102

107103
_last_ms = fnSystem.millis();
108-
109-
if (taskActive == false)
110-
buf += std::string((const char *)_buffer,s);
104+
memcpy(_pptr->provideBuffer(),_buffer,s);
105+
bpos=s;
111106
}
112107

113108
void adamPrinter::adamnet_control_ready()

lib/device/adamnet/printer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class adamPrinter : public adamNetDevice
1919
TaskHandle_t *thPrinter;
2020

2121
uint8_t _buffer[16];
22+
2223
void sio_write(uint8_t aux1, uint8_t aux2);
2324

2425
virtual void adamnet_control_status();
@@ -62,6 +63,7 @@ class adamPrinter : public adamNetDevice
6263
};
6364

6465
public:
66+
uint8_t bpos=0;
6567
constexpr static const char * const printer_model_str[PRINTER_INVALID]
6668
{
6769
"file printer (RAW)",

lib/device/adamnet/serial.cpp

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,31 @@
66

77
#define SERIAL_BUF_SIZE 16
88

9+
static xQueueHandle serial_out_queue = NULL;
10+
11+
void serial_task(void *param)
12+
{
13+
adamSerial *sp = (adamSerial *)param;
14+
uint8_t c=0;
15+
16+
while (1)
17+
{
18+
if (xQueueReceive(serial_out_queue,&c,portMAX_DELAY))
19+
{
20+
sp->client.write(c);
21+
}
22+
}
23+
}
24+
925
adamSerial::adamSerial()
1026
{
1127
Debug_printf("Serial Start\n");
1228
server = new fnTcpServer(1235, 1); // Run a TCP server on port 1235.
1329
server->begin(1235);
14-
response_len=0;
30+
response_len = 0;
1531
status_response[3] = 0x00; // character device
32+
serial_out_queue = xQueueCreate(16, sizeof(uint8_t));
33+
xTaskCreatePinnedToCore(serial_task, "adamnet_serial", 2048, this, 10, NULL,1);
1634
}
1735

1836
adamSerial::~adamSerial()
@@ -26,8 +44,8 @@ void adamSerial::command_recv()
2644
if ((response_len == 0) && client.available())
2745
{
2846
adamnet_response_nack();
29-
response_len=client.available() > SERIAL_BUF_SIZE ? SERIAL_BUF_SIZE : client.available();
30-
int c = client.read(response,response_len);
47+
response_len = client.available() > SERIAL_BUF_SIZE ? SERIAL_BUF_SIZE : client.available();
48+
int c = client.read(response, response_len);
3149
}
3250
else
3351
adamnet_response_ack();
@@ -36,9 +54,9 @@ void adamSerial::command_recv()
3654
void adamSerial::adamnet_response_status()
3755
{
3856
unsigned short s = SERIAL_BUF_SIZE;
39-
40-
status_response[1]=s & 0xFF;
41-
status_response[2]=s >> 8;
57+
58+
status_response[1] = s & 0xFF;
59+
status_response[2] = s >> 8;
4260

4361
if (!client.connected() && server->hasClient())
4462
{
@@ -49,10 +67,7 @@ void adamSerial::adamnet_response_status()
4967
if (client.available())
5068
{
5169
status_response[4] = client.available() > SERIAL_BUF_SIZE ? SERIAL_BUF_SIZE : client.available();
52-
status_response[3] = sizeof(sendbuf)-outc;
5370
}
54-
else
55-
status_response[3] = sizeof(sendbuf)-outc;
5671

5772
adamNetDevice::adamnet_response_status();
5873
}
@@ -70,7 +85,7 @@ void adamSerial::adamnet_control_clr()
7085
adamnet_send_buffer(response, response_len);
7186
adamnet_send(adamnet_checksum(response, response_len));
7287
memset(response, 0, sizeof(response));
73-
response_len = 0;
88+
response_len = 0;
7489
}
7590
}
7691

@@ -81,11 +96,6 @@ void adamSerial::adamnet_control_ready()
8196

8297
void adamSerial::adamnet_idle()
8398
{
84-
if (outc > 0)
85-
{
86-
client.write(sendbuf,outc);
87-
outc=0;
88-
}
8999
}
90100

91101
void adamSerial::adamnet_control_send()
@@ -98,7 +108,8 @@ void adamSerial::adamnet_control_send()
98108

99109
AdamNet.start_time = esp_timer_get_time();
100110
adamnet_response_ack();
101-
outc = s;
111+
112+
xQueueSend(serial_out_queue,&sendbuf[0],portMAX_DELAY);
102113
}
103114

104115
void adamSerial::adamnet_process(uint8_t b)

lib/network-protocol/SSH.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ bool NetworkProtocolSSH::open(EdUrlParser *urlParser, cmdFrame_t *cmdFrame)
8282
Debug_printf("\n");
8383

8484
userauthlist = libssh2_userauth_list(session, login->c_str(), login->length());
85-
Debug_printf("Authentication methods: %s\n", userauthlist);
85+
Debug_printf("Authentication methods: %s\n", userauthlist);
8686

8787
if (libssh2_userauth_password(session, login->c_str(), password->c_str()))
8888
{

lib/network-protocol/Telnet.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ static void _event_handler(telnet_t *telnet, telnet_event_t *ev, void *user_data
6262
break;
6363
case TELNET_EV_TTYPE:
6464
if (ev->ttype.cmd == TELNET_TTYPE_SEND)
65-
telnet_ttype_is(telnet, "vt100");
65+
telnet_ttype_is(telnet, protocol->ttype);
6666
break;
6767
case TELNET_EV_SUBNEGOTIATION:
6868
break;

lib/network-protocol/Telnet.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ class NetworkProtocolTELNET : public NetworkProtocolTCP
5555
* Length after RX processing
5656
*/
5757
int newRxLen;
58+
59+
char ttype[32]="heath-19";
5860

5961
};
6062

0 commit comments

Comments
 (0)