private void MakeFullReport() { MakeMinimalReport(); if (mFullReportRequired) { RTTMesg message; // set versioning and catalogue data if (mDeviceMask != DeviceCatalogueInfo.EquipmentFlages.None) { message = RTTMesg.CreateEquipmentMessage(mDeviceMask, mDeviceStatus); CNXLog.WarnFormat("Sending {0}", message); mCommsServer.Send(message); } if (mCatalogue != null) { message = RTTMesg.CreateFirmwareMessage(mCatalogue); CNXLog.WarnFormat("Sending {0}", message); mCommsServer.Send(message); } if (mResourceMessage != null) { if (mResourceMessage.IsResourceBuildPopulated) { CNXLog.WarnFormat("Sending {0}", mResourceMessage); mCommsServer.Send(mResourceMessage); } else { CNXLog.WarnFormat("ResourceMessage not populated {0}", mResourceMessage); } } else { CNXLog.WarnFormat("No ResourceMessage to send"); } mFullReportRequired = (mDeviceMask == DeviceCatalogueInfo.EquipmentFlages.None) || (mCatalogue == null) || (!mResourceMessage.IsResourceBuildPopulated); } }
private void FrameReceivedEventHandler(object o, FrameReceivedEventArgs a) { switch ((CNXMsgIds)a.Frame.MailboxId) { case CNXMsgIds.DriverMessageAck: mCommsServer.Send(RTTMesg.CreateDriverMessageAck(BitConverter.ToUInt16(a.Frame.Data, 0))); break; case CNXMsgIds.DriverStatus: CNXLog.WarnFormat("Driver status recieved {0}.", (CANLib.DriverStatus)a.Frame.Data[0]); RTTMesg.RTTOutMsgIds state = RTTMesg.RTTOutMsgIds.UNKNOWN; switch ((CANLib.DriverStatus)a.Frame.Data[0]) { case DriverStatus.Break: state = RTTMesg.RTTOutMsgIds.DriverStatusOnBreak; break; case DriverStatus.Normal: state = RTTMesg.RTTOutMsgIds.DriverStatusNormal; break; case DriverStatus.OutOfVehicle: state = RTTMesg.RTTOutMsgIds.DriverStatusOutOfVehicle; break; default: CNXLog.WarnFormat("CNXMsgIds.DriverStatus {0} out of range.", a.Frame.Data[0]); break; } if (state != RTTMesg.RTTOutMsgIds.UNKNOWN) { mCommsServer.Send(RTTMesg.CreateDriverStatus(state)); } break; default: break; } }