本文整理汇总了C++中serialize16函数的典型用法代码示例。如果您正苦于以下问题:C++ serialize16函数的具体用法?C++ serialize16怎么用?C++ serialize16使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了serialize16函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: serialize32
size_t CNetworkHost::Serialize(unsigned char *buf) const
{
unsigned char *p = buf;
p += serialize32(p, this->Host);
p += serialize16(p, this->Port);
p += serialize16(p, this->PlyNr);
p += serialize(p, this->PlyName);
return p - buf;
}
开发者ID:Clemenshemmerling,项目名称:Stratagus,代码行数:11,代码来源:net_message.cpp
示例2: serialize16
size_t CNetworkSelection::Serialize(unsigned char *buf) const
{
unsigned char *p = buf;
p += serialize16(p, this->player);
p += serialize16(p, uint16_t(this->Units.size()));
for (size_t i = 0; i != this->Units.size(); ++i) {
p += serialize16(p, Units[i]);
}
return p - buf;
}
开发者ID:Clemenshemmerling,项目名称:Stratagus,代码行数:11,代码来源:net_message.cpp
示例3: sendTime
static void sendTime(void)
{
uint32_t seconds = millis() / 1000;
uint8_t minutes = (seconds / 60) % 60;
// if we fly for more than an hour, something's wrong anyway
sendDataHead(ID_HOUR_MINUTE);
serialize16(minutes << 8);
sendDataHead(ID_SECOND);
serialize16(seconds % 60);
}
开发者ID:Crashpilot1000,项目名称:SummerGames2.5,代码行数:11,代码来源:telemetry.c
示例4: sendFuelLevel
static void sendFuelLevel(void)
{
sendDataHead(ID_FUEL_LEVEL);
if (batteryConfig()->batteryCapacity > 0) {
serialize16((uint16_t)batteryCapacityRemainingPercentage());
} else {
amperageMeter_t *state = getAmperageMeter(batteryConfig()->amperageMeterSource);
serialize16((uint16_t)constrain(state->mAhDrawn, 0, 0xFFFF));
}
}
开发者ID:Echelon9,项目名称:cleanflight,代码行数:12,代码来源:frsky.c
示例5: sendGpsAltitude
static void sendGpsAltitude(void)
{
uint16_t altitude = GPS_altitude;
//Send real GPS altitude only if it's reliable (there's a GPS fix)
if (!STATE(GPS_FIX)) {
altitude = 0;
}
sendDataHead(ID_GPS_ALTIDUTE_BP);
serialize16(altitude);
sendDataHead(ID_GPS_ALTIDUTE_AP);
serialize16(0);
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:12,代码来源:frsky.c
示例6: sendSpeed
static void sendSpeed(void)
{
if (!STATE(GPS_FIX)) {
return;
}
//Speed should be sent in knots (GPS speed is in cm/s)
sendDataHead(ID_GPS_SPEED_BP);
//convert to knots: 1cm/s = 0.0194384449 knots
serialize16(GPS_speed * 1944 / 100000);
sendDataHead(ID_GPS_SPEED_AP);
serialize16((GPS_speed * 1944 / 100) % 100);
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:12,代码来源:frsky.c
示例7: sendThrottleOrBatterySizeAsRpm
static void sendThrottleOrBatterySizeAsRpm(rxConfig_t *rxConfig, uint16_t deadband3d_throttle)
{
uint16_t throttleForRPM = rcCommand[THROTTLE] / BLADE_NUMBER_DIVIDER;
sendDataHead(ID_RPM);
if (ARMING_FLAG(ARMED)) {
throttleStatus_e throttleStatus = calculateThrottleStatus(rxConfig, deadband3d_throttle);
if (throttleStatus == THROTTLE_LOW && feature(FEATURE_MOTOR_STOP))
throttleForRPM = 0;
serialize16(throttleForRPM);
} else {
serialize16((batteryConfig->batteryCapacity / BLADE_NUMBER_DIVIDER));
}
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:14,代码来源:frsky.c
示例8: serialize
size_t serialize(unsigned char *buf, const std::vector<unsigned char> &data)
{
if (buf) {
if (data.empty()) {
return serialize16(buf, uint16_t(data.size()));
}
buf += serialize16(buf, uint16_t(data.size()));
memcpy(buf, &data[0], data.size());
buf += data.size();
if ((data.size() & 0x03) != 0) {
memset(buf, 0, data.size() & 0x03);
}
}
return 2 + ((data.size() + 3) & ~0x03); // round up to multiple of 4 for alignment.
}
开发者ID:Clemenshemmerling,项目名称:Stratagus,代码行数:15,代码来源:net_message.cpp
示例9: sendAccel
static void sendAccel(void)
{
for (int i = 0; i < 3; i++) {
sendDataHead(ID_ACC_X + i);
serialize16(1000 * (int32_t)accSmooth[i] / acc.acc_1G);
}
}
开发者ID:180jacob,项目名称:cleanflight,代码行数:7,代码来源:frsky.c
示例10: sendVoltage
/*
* Send voltage via ID_VOLT
*
* NOTE: This sends voltage divided by batteryCellCount. To get the real
* battery voltage, you need to multiply the value by batteryCellCount.
*/
static void sendVoltage(void)
{
static uint16_t currentCell = 0;
uint32_t cellVoltage;
uint16_t payload;
/*
* Format for Voltage Data for single cells is like this:
*
* llll llll cccc hhhh
* l: Low voltage bits
* h: High voltage bits
* c: Cell number (starting at 0)
*
* The actual value sent for cell voltage has resolution of 0.002 volts
* Since vbat has resolution of 0.1 volts it has to be multiplied by 50
*/
cellVoltage = ((uint32_t)vbat * 100 + batteryCellCount) / (batteryCellCount * 2);
// Cell number is at bit 9-12
payload = (currentCell << 4);
// Lower voltage bits are at bit 0-8
payload |= ((cellVoltage & 0x0ff) << 8);
// Higher voltage bits are at bits 13-15
payload |= ((cellVoltage & 0xf00) >> 8);
sendDataHead(ID_VOLT);
serialize16(payload);
currentCell++;
currentCell %= batteryCellCount;
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:40,代码来源:frsky.c
示例11: sendAmperage
static void sendAmperage(void)
{
amperageMeter_t *state = getAmperageMeter(batteryConfig()->amperageMeterSource);
sendDataHead(ID_CURRENT);
serialize16((uint16_t)(state->amperage / 10));
}
开发者ID:Echelon9,项目名称:cleanflight,代码行数:7,代码来源:frsky.c
示例12: sendVoltageAmp
/*
* Send voltage with ID_VOLTAGE_AMP
*/
static void sendVoltageAmp(void)
{
if (telemetryConfig->frsky_vfas_precision == FRSKY_VFAS_PRECISION_HIGH) {
/*
* Use new ID 0x39 to send voltage directly in 0.1 volts resolution
*/
sendDataHead(ID_VOLTAGE_AMP);
serialize16(vbat);
} else {
uint16_t voltage = (vbat * 110) / 21;
sendDataHead(ID_VOLTAGE_AMP_BP);
serialize16(voltage / 100);
sendDataHead(ID_VOLTAGE_AMP_AP);
serialize16(((voltage % 100) + 5) / 10);
}
}
开发者ID:phobos-,项目名称:cleanflight,代码行数:20,代码来源:frsky.c
示例13: sendSatalliteSignalQualityAsTemperature2
static void sendSatalliteSignalQualityAsTemperature2(void)
{
uint16_t satellite = GPS_numSat;
if (GPS_hdop > GPS_BAD_QUALITY && ( (cycleNum % 16 ) < 8)) {//Every 1s
satellite = constrain(GPS_hdop, 0, GPS_MAX_HDOP_VAL);
}
sendDataHead(ID_TEMPRATURE2);
if (telemetryConfig->frsky_unit == FRSKY_UNIT_METRICS) {
serialize16(satellite);
} else {
float tmp = (satellite - 32) / 1.8f;
//Round the value
tmp += (tmp < 0) ? -0.5f : 0.5f;
serialize16(tmp);
}
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:17,代码来源:frsky.c
示例14: sendAccel
static void sendAccel(void)
{
uint8_t i;
for (i = 0; i < 3; i++) {
sendDataHead(0x24 + i);
serialize16(((float)accSmooth[i] / acc_1G) * 1000);
}
}
开发者ID:DuinoPilot,项目名称:TMR,代码行数:9,代码来源:telemetry.c
示例15: sendAccel
static void sendAccel(void)
{
int i;
for (i = 0; i < 3; i++) {
sendDataHead(ID_ACC_X + i);
serialize16(((float)accSmooth[i] / acc.acc_1G) * 1000);
}
}
开发者ID:qwedsazxc78,项目名称:betaflight_IST8310,代码行数:9,代码来源:frsky.c
示例16: sendGPS
static void sendGPS(void)
{
int32_t localGPS_coord[2] = {0,0};
// Don't set dummy GPS data, if we already had a GPS fix
// it can be usefull to keep last valid coordinates
static uint8_t gpsFixOccured = 0;
//Dummy data if no 3D fix, this way we can display heading in Taranis
if (STATE(GPS_FIX) || gpsFixOccured == 1) {
localGPS_coord[LAT] = GPS_coord[LAT];
localGPS_coord[LON] = GPS_coord[LON];
gpsFixOccured = 1;
} else {
// Send dummy GPS Data in order to display compass value
localGPS_coord[LAT] = (telemetryConfig->gpsNoFixLatitude * GPS_DEGREES_DIVIDER);
localGPS_coord[LON] = (telemetryConfig->gpsNoFixLongitude * GPS_DEGREES_DIVIDER);
}
gpsCoordinateDDDMMmmmm_t coordinate;
GPStoDDDMM_MMMM(localGPS_coord[LAT], &coordinate);
sendDataHead(ID_LATITUDE_BP);
serialize16(coordinate.dddmm);
sendDataHead(ID_LATITUDE_AP);
serialize16(coordinate.mmmm);
sendDataHead(ID_N_S);
serialize16(localGPS_coord[LAT] < 0 ? 'S' : 'N');
GPStoDDDMM_MMMM(localGPS_coord[LON], &coordinate);
sendDataHead(ID_LONGITUDE_BP);
serialize16(coordinate.dddmm);
sendDataHead(ID_LONGITUDE_AP);
serialize16(coordinate.mmmm);
sendDataHead(ID_E_W);
serialize16(localGPS_coord[LON] < 0 ? 'W' : 'E');
}
开发者ID:FLYFPV,项目名称:cleanflight,代码行数:35,代码来源:frsky.c
示例17: serialize
size_t serialize(unsigned char *buf, const std::string &s)
{
if (buf) {
buf += serialize16(buf, uint16_t(s.size()));
memcpy(buf, s.c_str(), s.size());
buf += s.size();
//Wyrmgus start
//Andrettin: fix to the multiplayer OOS issue - the fix works, but it would be better if someone reviewed the code! I am leaving the Wyrmgus tags on these changes until the code has been properly reviewed
/*
if ((s.size() & 0x03) != 0) {
memset(buf, 0, s.size() & 0x03);
}
*/
//Wyrmgus end
}
//Wyrmgus start
// return 2 + ((s.size() + 3) & ~0x03); // round up to multiple of 4 for alignment.
return 2 + (s.size() + 3);
//Wyrmgus end
}
开发者ID:Wargus,项目名称:stratagus,代码行数:20,代码来源:net_message.cpp
示例18: sendGPS
static void sendGPS(void)
{
sendDataHead(0x13);
serialize16(abs(GPS_coord[LAT]) / 100000);
sendDataHead(0x13 + 8);
serialize16((abs(GPS_coord[LAT]) / 100000) % 10000);
sendDataHead(0x1B + 8);
serialize16(GPS_coord[LAT] < 0 ? 'S' : 'N');
sendDataHead(0x12);
serialize16(abs(GPS_coord[LON]) / 100000);
sendDataHead(0x12 + 8);
serialize16((abs(GPS_coord[LON]) / 100000) % 10000);
sendDataHead(0x1A + 8);
serialize16(GPS_coord[LON] < 0 ? 'W' : 'E');
}
开发者ID:DuinoPilot,项目名称:TMR,代码行数:17,代码来源:telemetry.c
示例19: sendGPS
static void sendGPS(void)
{
sendDataHead(ID_LATITUDE_BP);
serialize16(abs(GPS_coord[LAT]) / 100000);
sendDataHead(ID_LATITUDE_AP);
serialize16((abs(GPS_coord[LAT]) / 10) % 10000);
sendDataHead(ID_N_S);
serialize16(GPS_coord[LAT] < 0 ? 'S' : 'N');
sendDataHead(ID_LONGITUDE_BP);
serialize16(abs(GPS_coord[LON]) / 100000);
sendDataHead(ID_LONGITUDE_AP);
serialize16((abs(GPS_coord[LON]) / 10) % 10000);
sendDataHead(ID_E_W);
serialize16(GPS_coord[LON] < 0 ? 'W' : 'E');
}
开发者ID:hinkel,项目名称:SGTodaysSnapshot2NoHex,代码行数:17,代码来源:telemetry.c
示例20: sendVoltage
/*
* Send voltage via ID_VOLT
*
* NOTE: This sends voltage divided by batteryCellCount. To get the real
* battery voltage, you need to multiply the value by batteryCellCount.
*/
static void sendVoltage(void)
{
static uint16_t currentCell = 0;
uint16_t cellNumber;
uint32_t cellVoltage;
uint16_t payload;
/*
* Note: Fuck the pdf. Format for Voltage Data for single cells is like this:
*
* llll llll cccc hhhh
* l: Low voltage bits
* h: High voltage bits
* c: Cell number (starting at 0)
*/
cellVoltage = vbat / batteryCellCount;
// Map to 12 bit range
cellVoltage = (cellVoltage * 2100) / 42;
cellNumber = currentCell % batteryCellCount;
// Cell number is at bit 9-12
payload = (cellNumber << 4);
// Lower voltage bits are at bit 0-8
payload |= ((cellVoltage & 0x0ff) << 8);
// Higher voltage bits are at bits 13-15
payload |= ((cellVoltage & 0xf00) >> 8);
sendDataHead(ID_VOLT);
serialize16(payload);
currentCell++;
currentCell %= batteryCellCount;
}
开发者ID:hinkel,项目名称:SGTodaysSnapshot2NoHex,代码行数:43,代码来源:telemetry.c
注:本文中的serialize16函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论