void m_controller_onValueReceived_DigitalInputF(object sender, MeasuredValuesEventArgs ev) { if (onValueReceived_WhiskerLeft != null) { onValueReceived_WhiskerLeft(this, ev); } }
void _brickConnection_onValueReceived_MotorAmps(object sender, MeasuredValuesEventArgs e) { // note: Amps behave almost like integers, no precision here and low current will read as 0 _state.PowerControllerState.Motor_Amps_Left = e.value1; _state.PowerControllerState.Motor_Amps_Right = e.value2; _state.TimeStamp = DateTime.Now; }
void m_controller_onValueReceived_EncoderRightAbsolute(object sender, MeasuredValuesEventArgs ev) { if (onValueReceived_EncoderRightAbsolute != null) { onValueReceived_EncoderRightAbsolute(this, ev); } }
void m_controller_onValueReceived_EncoderSpeed(object sender, MeasuredValuesEventArgs ev) { if (onValueReceived_EncoderSpeed != null) { onValueReceived_EncoderSpeed(this, ev); } }
void _controller_onValueReceived_DigitalInputE(object sender, MeasuredValuesEventArgs ev) { // values are: "Digital_Input_E" if (onValueReceived_DigitalInputE != null) { onValueReceived_DigitalInputE(this, ev); } }
void _controller_onValueReceived_AnalogInputs(object sender, MeasuredValuesEventArgs ev) { // values are: "Analog_Input_1", "Analog_Input_2" if (onValueReceived_AnalogInputs != null) { onValueReceived_AnalogInputs(this, ev); } }
void _controller_onValueReceived_MotorPower(object sender, MeasuredValuesEventArgs ev) { // values are: "Motor_Power_Left", "Motor_Power_Right" if (onValueReceived_MotorPower != null) { onValueReceived_MotorPower(this, ev); } }
void _controller_onValueReceived_HeatsinkTemperature(object sender, MeasuredValuesEventArgs ev) { // values are: "HeatsinkTemperature_Left", "HeatsinkTemperature_Right" if (onValueReceived_HeatsinkTemperature != null) { onValueReceived_HeatsinkTemperature(this, ev); } }
void _controller_onValueReceived_Voltage(object sender, MeasuredValuesEventArgs ev) { // values are: "Main_Battery_Voltage", "Internal_Voltage" if (onValueReceived_Voltage != null) { onValueReceived_Voltage(this, ev); } }
void _brickConnection_onValueReceived_Voltage(object sender, MeasuredValuesEventArgs e) { // the voltages come in as hex bytes 0...255, and then converted by formula: // Measured Main Battery Volts = 55 * Read Value / 256 // Measured Internal Volts = 28.5 * Read Value / 256 // there isn't much precision here, so rounding it to 2 digits seems adequate. _state.PowerControllerState.Main_Battery_Voltage = e.value1.HasValue ? Math.Round(e.value1.Value, 2) : (double?)null; _state.PowerControllerState.Internal_Voltage = e.value2.HasValue ? Math.Round(e.value2.Value, 2) : (double?)null; _state.TimeStamp = DateTime.Now; }
void _brickConnection_onValueReceived_EncoderSpeed(object sender, MeasuredValuesEventArgs ev) { #if TRACEDEBUGTICKS LogInfo("TrackRoamerBrickPowerService : received EncoderSpeed : left=" + ev.value1 + " right=" + ev.value2); #endif // TRACEDEBUGTICKS UpdateMotorEncoderSpeed ume = new UpdateMotorEncoderSpeed(); ume.Body.Timestamp = new DateTime(ev.timestamp); ume.Body.LeftSpeed = ev.value1; ume.Body.RightSpeed = ev.value2; _state.MotorEncoderSpeed.LeftSpeed = ume.Body.LeftSpeed; _state.MotorEncoderSpeed.RightSpeed = ume.Body.RightSpeed; _state.MotorEncoderSpeed.Timestamp = ume.Body.Timestamp; _state.TimeStamp = DateTime.Now; base.SendNotification <UpdateMotorEncoderSpeed>(_subMgrPort, ume); }
private void onWhiskerRight(object sender, MeasuredValuesEventArgs ev) { LogInfo("TrackRoamerBrickPowerService : WhiskerRight : " + ev.value1); if (ev.value1 > 0 && (!_state.Whiskers.FrontWhiskerRight.HasValue || !_state.Whiskers.FrontWhiskerRight.Value)) { // if this is a "whisker pressed" event, do emergency stop. stopMotorsNow(); // Note: UpdateMotorSpeedHandler() will not set positive speed if whiskers are pressed. } _state.Whiskers.Timestamp = new DateTime(ev.timestamp); _state.Whiskers.FrontWhiskerRight = ev.value1 > 0; _state.TimeStamp = DateTime.Now; UpdateWhiskers uw = new UpdateWhiskers(); uw.Body.Timestamp = _state.Whiskers.Timestamp; uw.Body.FrontWhiskerRight = ev.value1 > 0; base.SendNotification <UpdateWhiskers>(_subMgrPort, uw); }
void _brickConnection_onValueReceived_AnalogInputs(object sender, MeasuredValuesEventArgs e) { _state.PowerControllerState.Analog_Input_1 = e.value1; _state.PowerControllerState.Analog_Input_2 = e.value2; _state.TimeStamp = DateTime.Now; }
void _brickConnection_onValueReceived_MotorPower(object sender, MeasuredValuesEventArgs e) { _state.PowerControllerState.Motor_Power_Left = e.value1; _state.PowerControllerState.Motor_Power_Right = e.value2; _state.TimeStamp = DateTime.Now; }
private void _brickConnection_onValueReceived_EncoderRightAbsolute(object sender, MeasuredValuesEventArgs ev) { #if TRACEDEBUGTICKS LogInfo("TrackRoamerBrickPowerService : received EncoderRightAbsolute : " + ev.value1); #endif // TRACEDEBUGTICKS UpdateMotorEncoder ume = new UpdateMotorEncoder(); ume.Body.Timestamp = new DateTime(ev.timestamp); ume.Body.RightDistance = ev.value1; ume.Body.HardwareIdentifier = 2; // 2 = Right _state.MotorEncoder.RightDistance = ume.Body.RightDistance; _state.MotorEncoder.Timestamp = ume.Body.Timestamp; _state.TimeStamp = DateTime.Now; base.SendNotification <UpdateMotorEncoder>(_subMgrPort, ume); }
void _brickConnection_onValueReceived_HeatsinkTemperature(object sender, MeasuredValuesEventArgs e) { _state.PowerControllerState.Heatsink_Temperature_Left = e.value1; _state.PowerControllerState.Heatsink_Temperature_Right = e.value2; _state.TimeStamp = DateTime.Now; }
void _brickConnection_onValueReceived_DigitalInputE(object sender, MeasuredValuesEventArgs e) { _state.PowerControllerState.Digital_Input_E = e.value1; _state.TimeStamp = DateTime.Now; }