bool FlarmDevice::SetConfig(const char *setting, const char *value, OperationEnvironment &env) { NarrowString<256> buffer; buffer.Format("PFLAC,S,%s,%s", setting, value); NarrowString<256> expected_answer(buffer); expected_answer[6u] = 'A'; Send(buffer, env); return port.ExpectString(expected_answer, env, 2000) && ExpectChecksum(port, NMEAChecksum(expected_answer), env); }
bool FlarmDevice::GetConfig(const char *setting, char *buffer, size_t length, OperationEnvironment &env) { NarrowString<256> request; request.Format("PFLAC,R,%s", setting); NarrowString<256> expected_answer(request); expected_answer[6u] = 'A'; expected_answer += ','; Send(request, env); return Receive(expected_answer, buffer, length, env, 2000); }
bool FlarmDevice::SetConfig(const char *setting, const TCHAR *value) { NarrowPathName narrow_value(value); NarrowString<256> buffer; buffer.Format("PFLAC,S,%s,", setting); buffer.append(narrow_value); NarrowString<256> expected_answer(buffer); expected_answer[6u] = 'A'; Send(buffer); return port.ExpectString(expected_answer); }
bool FlarmDevice::GetConfig(const char *setting, char *buffer, size_t length, OperationEnvironment &env) { NarrowString<90> request; request.Format("PFLAC,R,%s", setting); NarrowString<90> expected_answer(request); expected_answer[6u] = 'A'; expected_answer.push_back(','); Send(request, env); return Receive(expected_answer, buffer, length, env, std::chrono::seconds(2)); }
bool FlarmDevice::GetConfig(const char *setting, TCHAR *buffer, size_t length) { NarrowString<256> request; request.Format("PFLAC,R,%s", setting); NarrowString<256> expected_answer(request); expected_answer[6u] = 'A'; expected_answer += ','; char narrow_buffer[length]; Send(request); if (!Receive(expected_answer, narrow_buffer, length, 1000)) return false; _tcscpy(buffer, PathName(narrow_buffer)); return true; }