fix modbus timeout

master
Eggert Jung 4 years ago
parent 54572ac7f2
commit db6f03ef97

@ -34,7 +34,7 @@ void do_kraftsensor(){
/* read 2 16bit values and merge to 32bit signed integer */
readReg(1,0,2);
if(wait_receive(2, m_data, 10)){
if(wait_receive(2, m_data, 100)){
kraftsensor_valid = 0;
printf("modbus error\n\r");
}
@ -73,8 +73,9 @@ uint8_t wait_receive(uint8_t len, uint16_t dest[], uint8_t timeout){
while(!receiveOkay && breaker) { //wait for client response, time out after 1s
breaker--;
_delay_ms(1);
if(breaker==0)
return -1;
}
printf("breaker: %d\n\r", breaker);
if(receiveOkay) { //if this fails, there was either no response or a crc error
if(rxbuffer[1]&0x80) { //client responded with an error code