mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-19 21:19:06 +08:00
lightware_lase_serial: fix pointer for enabling serial mode
const char *data = "www\r\n"; Defines a cstring of 6 bytes: 'w', 'w', 'w', '\r', '\n', '\0' type of data: char const* type of &data: char const** So when we call write(_fd, &data, strlen(data)); then strlen(data) == 5 and we send the 4 byte memory address of data + some additional random byte. Correct is write(_fd, data, strlen(data)); where char const* gets casted to const void * and we pass the pointer to the content of data. The fundamental problem here is write() not being typesafe.
This commit is contained in:
parent
fd267fb9a5
commit
18d89e4bc1
@ -308,7 +308,7 @@ void LightwareLaserSerial::Run()
|
||||
// LW20: Enable serial mode by sending some characters
|
||||
if (hw_model == 8) {
|
||||
const char *data = "www\r\n";
|
||||
(void)!::write(_fd, &data, strlen(data));
|
||||
(void)!::write(_fd, data, strlen(data));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user