@@ -314,7 +314,7 @@ void ATHandler::fill_buffer()
314
314
} while ((uint32_t )timer.read_ms () < _at_timeout);
315
315
316
316
set_error (NSAPI_ERROR_DEVICE_ERROR);
317
- tr_error (" AT TIMEOUT, scope: %d timeout: %lu" , _current_scope, _at_timeout);
317
+ tr_debug (" AT TIMEOUT, scope: %d timeout: %lu" , _current_scope, _at_timeout);
318
318
}
319
319
320
320
int ATHandler::get_char ()
@@ -846,7 +846,7 @@ bool ATHandler::consume_to_tag(const char *tag, bool consume_tag)
846
846
match_pos = 0 ;
847
847
}
848
848
}
849
- tr_error (" consume_to_tag not found" );
849
+ tr_debug (" consume_to_tag not found" );
850
850
return false ;
851
851
}
852
852
@@ -862,7 +862,7 @@ bool ATHandler::consume_to_stop_tag()
862
862
return true ;
863
863
}
864
864
865
- tr_error (" consume_to_stop_tag not found" );
865
+ tr_debug (" consume_to_stop_tag not found" );
866
866
set_error (NSAPI_ERROR_DEVICE_ERROR);
867
867
return false ;
868
868
}
@@ -942,13 +942,7 @@ void ATHandler::cmd_start(const char* cmd)
942
942
return ;
943
943
}
944
944
945
- // write command
946
- for (size_t i = 0 ; i < strlen (cmd); i++) {
947
- if (write_char (cmd[i]) == false ) {
948
- // writing failed ---> write_char have set the last error, return...
949
- return ;
950
- }
951
- }
945
+ (void )write (cmd, strlen (cmd));
952
946
953
947
_cmd_start = true ;
954
948
}
@@ -966,12 +960,7 @@ void ATHandler::write_int(int32_t param)
966
960
char number_string[str_len];
967
961
int32_t result = sprintf (number_string, " %ld" , param);
968
962
if (result > 0 && result < str_len) {
969
- for (size_t i = 0 ; number_string[i]; i++) {
970
- if (write_char (number_string[i]) == false ) {
971
- // writing failed ---> write_char have set the last error, break out
972
- break ;
973
- }
974
- }
963
+ (void )write (number_string, strlen (number_string));
975
964
}
976
965
}
977
966
@@ -984,20 +973,15 @@ void ATHandler::write_string(const char* param, bool useQuotations)
984
973
}
985
974
986
975
// we are writing string, surround it with quotes
987
- if (useQuotations && write_char ( ' \" ' ) == false ) {
976
+ if (useQuotations && write ( " \" " , 1 ) != 1 ) {
988
977
return ;
989
978
}
990
979
991
- for (size_t i = 0 ; i < strlen (param); i++) {
992
- if (write_char (param[i]) == false ) {
993
- // writing failed ---> write_char have set the last error, return
994
- break ;
995
- }
996
- }
980
+ (void )write (param, strlen (param));
997
981
998
982
if (useQuotations) {
999
983
// we are writing string, surround it with quotes
1000
- write_char ( ' \" ' );
984
+ ( void ) write ( " \" " , 1 );
1001
985
}
1002
986
}
1003
987
@@ -1007,11 +991,7 @@ void ATHandler::cmd_stop()
1007
991
return ;
1008
992
}
1009
993
// Finish with CR
1010
- for (size_t i = 0 ; i < _output_delimiter_length; i++) {
1011
- if (write_char (_output_delimiter[i]) == false ) {
1012
- break ;
1013
- }
1014
- }
994
+ (void )write (_output_delimiter, _output_delimiter_length);
1015
995
}
1016
996
1017
997
size_t ATHandler::write_bytes (const uint8_t *data, size_t len)
@@ -1020,36 +1000,27 @@ size_t ATHandler::write_bytes(const uint8_t *data, size_t len)
1020
1000
return 0 ;
1021
1001
}
1022
1002
1023
- size_t i = 0 ;
1024
- for (; i < len; i++) {
1025
- if (write_char (data[i]) == false ) {
1026
- // writing failed ---> write_char have set the last error, return
1027
- break ;
1028
- }
1029
- }
1030
-
1031
- return i;
1003
+ ssize_t write_len = write (data, len);
1004
+ return write_len < 0 ? 0 : (size_t )write_len;
1032
1005
}
1033
1006
1034
- bool ATHandler::write_char ( char c )
1007
+ ssize_t ATHandler::write ( const void *data, size_t len )
1035
1008
{
1036
1009
pollfh fhs;
1037
1010
fhs.fh = _fileHandle;
1038
1011
fhs.events = POLLOUT;
1039
- bool retVal = true ;
1012
+ ssize_t write_len = - 1 ;
1040
1013
1041
1014
int count = poll (&fhs, 1 , _at_timeout);
1042
1015
if (count > 0 && (fhs.revents & POLLOUT)) {
1043
- retVal = _fileHandle->write (&c, 1 ) == 1 ? true : false ;
1044
- } else {
1045
- retVal = false ;
1016
+ write_len = _fileHandle->write (data, len);
1046
1017
}
1047
1018
1048
- if (retVal == false ) {
1019
+ if (write_len < 0 || ( size_t )write_len != len ) {
1049
1020
set_error (NSAPI_ERROR_DEVICE_ERROR);
1050
1021
}
1051
1022
1052
- return retVal ;
1023
+ return write_len ;
1053
1024
}
1054
1025
1055
1026
// do common checks before sending subparameters
@@ -1063,8 +1034,8 @@ bool ATHandler::check_cmd_send()
1063
1034
if (_cmd_start) {
1064
1035
_cmd_start = false ;
1065
1036
} else {
1066
- if (write_char ( _delimiter) == false ) {
1067
- // writing of delimiter failed, return. write_char already have set the _last_err
1037
+ if (write (& _delimiter, 1 ) != 1 ) {
1038
+ // writing of delimiter failed, return. write() already have set the _last_err
1068
1039
return false ;
1069
1040
}
1070
1041
}
0 commit comments