コード例 #1
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_quaternion_period(IMU *imu, uint32_t period) {
	SetQuaternionPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_QUATERNION_PERIOD, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #2
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_angular_velocity_period(IMU *imu, uint32_t period) {
	SetAngularVelocityPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_ANGULAR_VELOCITY_PERIOD, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #3
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_all_data_period(IMU *imu, uint32_t period) {
	SetAllDataPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_ALL_DATA_PERIOD, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #4
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_magnetic_field_period(IMU *imu, uint32_t period) {
	SetMagneticFieldPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_MAGNETIC_FIELD_PERIOD, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #5
0
int uv_light_set_debounce_period(UVLight *uv_light, uint32_t debounce) {
	DevicePrivate *device_p = uv_light->p;
	SetDebouncePeriod_Request request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), UV_LIGHT_FUNCTION_SET_DEBOUNCE_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.debounce = leconvert_uint32_to(debounce);

	ret = device_send_request(device_p, (Packet *)&request, NULL);

	return ret;
}
コード例 #6
0
int uv_light_set_uv_light_callback_period(UVLight *uv_light, uint32_t period) {
	DevicePrivate *device_p = uv_light->p;
	SetUVLightCallbackPeriod_Request request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), UV_LIGHT_FUNCTION_SET_UV_LIGHT_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);

	return ret;
}
コード例 #7
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_acceleration_range(IMU *imu, uint8_t range) {
	SetAccelerationRange_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_ACCELERATION_RANGE, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.range = range;

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #8
0
ファイル: brick_imu.c プロジェクト: wopl/fhem
int imu_set_magnetometer_range(IMU *imu, uint8_t range) {
	SetMagnetometerRange_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), IMU_FUNCTION_SET_MAGNETOMETER_RANGE, imu->ipcon, imu);

	if (ret < 0) {
		return ret;
	}

	request.range = range;

	ret = device_send_request(imu, (Packet *)&request, NULL);


	return ret;
}
コード例 #9
0
int voltage_set_analog_value_callback_period(Voltage *voltage, uint32_t period) {
	DevicePrivate *device_p = voltage->p;
	SetAnalogValueCallbackPeriod_Request request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), VOLTAGE_FUNCTION_SET_ANALOG_VALUE_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);

	return ret;
}
コード例 #10
0
int voltage_set_debounce_period(Voltage *voltage, uint32_t debounce) {
	DevicePrivate *device_p = voltage->p;
	SetDebouncePeriod_Request request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), VOLTAGE_FUNCTION_SET_DEBOUNCE_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.debounce = leconvert_uint32_to(debounce);

	ret = device_send_request(device_p, (Packet *)&request, NULL);

	return ret;
}
コード例 #11
0
int gps_set_date_time_callback_period(GPS *gps, uint32_t period) {
	DevicePrivate *device_p = gps->p;
	SetDateTimeCallbackPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), GPS_FUNCTION_SET_DATE_TIME_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #12
0
int gps_restart(GPS *gps, uint8_t restart_type) {
	DevicePrivate *device_p = gps->p;
	Restart_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), GPS_FUNCTION_RESTART, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.restart_type = restart_type;

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #13
0
int ambient_light_v2_set_illuminance_callback_period(AmbientLightV2 *ambient_light_v2, uint32_t period) {
	DevicePrivate *device_p = ambient_light_v2->p;
	SetIlluminanceCallbackPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), AMBIENT_LIGHT_V2_FUNCTION_SET_ILLUMINANCE_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #14
0
int led_strip_set_clock_frequency(LEDStrip *led_strip, uint32_t frequency) {
	DevicePrivate *device_p = led_strip->p;
	SetClockFrequency_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), LED_STRIP_FUNCTION_SET_CLOCK_FREQUENCY, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.frequency = leconvert_uint32_to(frequency);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #15
0
int temperature_ir_set_debounce_period(TemperatureIR *temperature_ir, uint32_t debounce) {
	DevicePrivate *device_p = temperature_ir->p;
	SetDebouncePeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), TEMPERATURE_IR_FUNCTION_SET_DEBOUNCE_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.debounce = leconvert_uint32_to(debounce);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #16
0
int temperature_ir_set_emissivity(TemperatureIR *temperature_ir, uint16_t emissivity) {
	DevicePrivate *device_p = temperature_ir->p;
	SetEmissivity_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), TEMPERATURE_IR_FUNCTION_SET_EMISSIVITY, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.emissivity = leconvert_uint16_to(emissivity);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #17
0
int oled_128x64_write(OLED128x64 *oled_128x64, uint8_t data[64]) {
	DevicePrivate *device_p = oled_128x64->p;
	Write_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), OLED_128X64_FUNCTION_WRITE, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	memcpy(request.data, data, 64 * sizeof(uint8_t));

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #18
0
int analog_out_set_voltage(AnalogOut *analog_out, uint16_t voltage) {
	DevicePrivate *device_p = analog_out->p;
	SetVoltage_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), ANALOG_OUT_FUNCTION_SET_VOLTAGE, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.voltage = leconvert_uint16_to(voltage);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #19
0
int analog_out_set_mode(AnalogOut *analog_out, uint8_t mode) {
	DevicePrivate *device_p = analog_out->p;
	SetMode_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), ANALOG_OUT_FUNCTION_SET_MODE, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.mode = mode;

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #20
0
int industrial_quad_relay_set_selected_values(IndustrialQuadRelay *industrial_quad_relay, uint16_t selection_mask, uint16_t value_mask) {
	DevicePrivate *device_p = industrial_quad_relay->p;
	SetSelectedValues_Request request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), INDUSTRIAL_QUAD_RELAY_FUNCTION_SET_SELECTED_VALUES, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.selection_mask = leconvert_uint16_to(selection_mask);
	request.value_mask = leconvert_uint16_to(value_mask);

	ret = device_send_request(device_p, (Packet *)&request, NULL);

	return ret;
}
コード例 #21
0
ファイル: bricklet_piezo_buzzer.c プロジェクト: wopl/fhem
int piezo_buzzer_morse_code(PiezoBuzzer *piezo_buzzer, const char morse[60]) {
	MorseCode_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), PIEZO_BUZZER_FUNCTION_MORSE_CODE, piezo_buzzer->ipcon, piezo_buzzer);

	if (ret < 0) {
		return ret;
	}

	strncpy(request.morse, morse, 60);


	ret = device_send_request(piezo_buzzer, (Packet *)&request, NULL);


	return ret;
}
コード例 #22
0
int multi_touch_set_electrode_config(MultiTouch *multi_touch, uint16_t enabled_electrodes) {
	DevicePrivate *device_p = multi_touch->p;
	SetElectrodeConfig_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), MULTI_TOUCH_FUNCTION_SET_ELECTRODE_CONFIG, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.enabled_electrodes = leconvert_uint16_to(enabled_electrodes);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #23
0
int temperature_ir_set_object_temperature_callback_period(TemperatureIR *temperature_ir, uint32_t period) {
	DevicePrivate *device_p = temperature_ir->p;
	SetObjectTemperatureCallbackPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), TEMPERATURE_IR_FUNCTION_SET_OBJECT_TEMPERATURE_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #24
0
int multi_touch_set_electrode_sensitivity(MultiTouch *multi_touch, uint8_t sensitivity) {
	DevicePrivate *device_p = multi_touch->p;
	SetElectrodeSensitivity_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), MULTI_TOUCH_FUNCTION_SET_ELECTRODE_SENSITIVITY, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.sensitivity = sensitivity;

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #25
0
int led_strip_set_frame_duration(LEDStrip *led_strip, uint16_t duration) {
	DevicePrivate *device_p = led_strip->p;
	SetFrameDuration_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), LED_STRIP_FUNCTION_SET_FRAME_DURATION, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.duration = leconvert_uint16_to(duration);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #26
0
int temperature_set_i2c_mode(Temperature *temperature, uint8_t mode) {
	DevicePrivate *device_p = temperature->p;
	SetI2CMode_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), TEMPERATURE_FUNCTION_SET_I2C_MODE, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.mode = mode;

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #27
0
int led_strip_set_chip_type(LEDStrip *led_strip, uint16_t chip) {
	DevicePrivate *device_p = led_strip->p;
	SetChipType_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), LED_STRIP_FUNCTION_SET_CHIP_TYPE, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.chip = leconvert_uint16_to(chip);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #28
0
int co2_set_co2_concentration_callback_period(CO2 *co2, uint32_t period) {
	DevicePrivate *device_p = co2->p;
	SetCO2ConcentrationCallbackPeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), CO2_FUNCTION_SET_CO2_CONCENTRATION_CALLBACK_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.period = leconvert_uint32_to(period);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #29
0
int ambient_light_v2_set_debounce_period(AmbientLightV2 *ambient_light_v2, uint32_t debounce) {
	DevicePrivate *device_p = ambient_light_v2->p;
	SetDebouncePeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), AMBIENT_LIGHT_V2_FUNCTION_SET_DEBOUNCE_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.debounce = leconvert_uint32_to(debounce);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}
コード例 #30
0
int co2_set_debounce_period(CO2 *co2, uint32_t debounce) {
	DevicePrivate *device_p = co2->p;
	SetDebouncePeriod_ request;
	int ret;

	ret = packet_header_create(&request.header, sizeof(request), CO2_FUNCTION_SET_DEBOUNCE_PERIOD, device_p->ipcon_p, device_p);

	if (ret < 0) {
		return ret;
	}

	request.debounce = leconvert_uint32_to(debounce);

	ret = device_send_request(device_p, (Packet *)&request, NULL);


	return ret;
}