1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
using System;
using System.Text;
using System.Linq;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Tango.PMR.Stubs;
using Tango.Stubs;
//----------------------
const Int32 I2C_ID = 3; //MCU_I2C3
const Int32 TCA9548A_address = 0xE2;
const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte
int Head_Mux_Channel_ID = 4; //Head MUX channel
//----------------------
int enable_channel(int Channel_ID)
{
uint Const_temp = 0x01;
StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
stubI2CWriteBytesRequest.I2CId = I2C_ID;
stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
Const_temp = Const_temp << Channel_ID;
stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
return 1;
}
int adc_write(uint I2C_Slave_Add, uint Page)
{
StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
stubI2CWriteBytesRequest.I2CId = I2C_ID;
stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
UInt32 uInt32 = new UInt32();
stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
//--------------------------------------------------------------
stubI2CWriteBytesRequest.BytesTWrite.Add(0x12 + Page);//Data 0 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x34 + Page);//Data 1 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x56 + Page);//Data 2 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x78 + Page);//Data 3 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x90 + Page);//Data 4 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0xAB + Page);//Data 5 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0xCD + Page);//Data 6 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0xEF + Page);//Data 7 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x01 + Page);//Data 8 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(0x02 + Page);//Data 9 to write
var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
return 1;
}
int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page)
{
StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
stubI2CWriteBytesRequest.I2CId = I2C_ID;
stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
UInt32 uInt32 = new UInt32();
stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
return 1;
}
int adc_read_ch(uint I2C_Slave_Add)
{
StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
stubI2CReadBytesRequest.I2CId = I2C_ID;
stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read
var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
uint temph=0;
for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
{
temph=response1.ReadBytes[i];
stubManager.WriteHex(temph,2);
}
return 1;
}
public void OnExecute(StubManager stubManager)
{
//enable_all_channel();
enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
for (int i = 0; i<1; i++)
{
adc_write(I2C_Slave_Add,0x10);
Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
adc_write(I2C_Slave_Add,0x00);
Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
stubManager.Write("\nPage 0x10 #");
stubManager.Write(i);
stubManager.Write("\t- The Buffer is: ");
adc_set_for_read_ch(I2C_Slave_Add,0x10);
//Thread.Sleep(1); //Sleep for 10 milli.
adc_read_ch(I2C_Slave_Add);
Thread.Sleep(10);
stubManager.Write("\nPage 0x00 #");
stubManager.Write(i);
stubManager.Write("\t- The Buffer is: ");
adc_set_for_read_ch(I2C_Slave_Add, 0x00);
//Thread.Sleep(1); //Sleep for 10 milli.
adc_read_ch(I2C_Slave_Add);
Thread.Sleep(1000);
}
}
class="p">;
container.has_completed = true;
container.has_data = true;
container.has_type = true;
container.type = type;
uint8_t* response_buffer = my_malloc((*sizePtr)(response));
size_t response_size = 0;
if (response_buffer)
{
response_size = (*packPtr)(response, response_buffer);
}
container.data.data = response_buffer;
container.data.len = response_size;
/*if (SuspendLargeMessages == true)
{
// Report("EndJobMessage",__FILE__,__LINE__,(int)type,RpWarning,(int)response_size,0);
TxmsgId[Txindex] = type;
TxLength[Txindex] = response_size;
TxAddr[Txindex] = msec_millisecondCounter;
if (Txindex++>=MAX_CONT_LOG)
Txindex = 0;
}*/
//free(response);
return container;
}
MessageContainer createAllocatedContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*),uint8_t* response_buffer)
{
MessageContainer container = MESSAGE_CONTAINER__INIT;
container.completed = completed;
container.token = token;
container.has_completed = true;
container.has_data = true;
container.has_type = true;
container.type = type;
//uint8_t* response_buffer = my_malloc((*sizePtr)(response));
size_t response_size = 0;
if (response_buffer)
{
response_size = (*packPtr)(response, response_buffer);
}
container.data.data = response_buffer;
container.data.len = response_size;
/*if (SuspendLargeMessages == true)
{
// Report("EndJobMessage",__FILE__,__LINE__,(int)type,RpWarning,(int)response_size,0);
TxmsgId[Txindex] = type;
TxLength[Txindex] = response_size;
TxAddr[Txindex] = msec_millisecondCounter;
if (Txindex++>=MAX_CONT_LOG)
Txindex = 0;
}*/
//free(response);
return container;
}
void receive_callback(char* buffer, size_t length)
{
MessageContainer* requestContainer = message_container__unpack(NULL, length, (uint8_t*)buffer);
if (requestContainer == NULL)
return;
#ifndef DISPESER_TEST
if ((requestContainer->type>= MESSAGE_TYPE__StartDiagnosticsRequest)&&(requestContainer->type != MESSAGE_TYPE__KeepAliveRequest)&&(requestContainer->type != MESSAGE_TYPE__KeepAliveResponse)) //user action resets the idle counter
{
ReportWithPackageFilter(CommFilter,"Message received", __FILE__,__LINE__,requestContainer->type, RpMessage,length, 0);
}
#endif
if (requestContainer->type != MESSAGE_TYPE__KeepAliveRequest)
resetIdleCounter();
//ReportWithPackageFilter(CommFilter,"Message received", __FILE__,__LINE__,requestContainer->type, RpMessage,length, 0);
KeepAliveOneSecondCounter = 0;
/*msgId[RxIndex] = requestContainer->type;
Length[RxIndex] = length;
DataLength[RxIndex] = msec_millisecondCounter;
if (RxIndex++>=MAX_CONT_LOG)
RxIndex = 0;*/
switch(requestContainer->type)
{
case MESSAGE_TYPE__CalculateRequest:
Stub_CalculateRequest(requestContainer);
break;
case MESSAGE_TYPE__ProgressRequest:
Stub_ProgressRequest(requestContainer);
break;
case MESSAGE_TYPE__StubCartridgeReadRequest:
Stub_CartridgeReadRequest(requestContainer);
break;
case MESSAGE_TYPE__StubCartridgeWriteRequest:
Stub_CartridgeWriteRequest(requestContainer);
break;
case MESSAGE_TYPE__StubDispenserRequest:
Stub_DispenserRequest(requestContainer);
break;
case MESSAGE_TYPE__StubGPIOInputSetupRequest:
Stub_GPIOInputSetupRequest(requestContainer);
break;
case MESSAGE_TYPE__StubGPIOReadBitRequest:
Stub_GPIOReadBitRequest(requestContainer);
break;
case MESSAGE_TYPE__StubGPIOReadByteRequest:
Stub_GPIOReadByteRequest(requestContainer);
break;
case MESSAGE_TYPE__StubGPIOWriteBitRequest:
Stub_GPIOWriteBitRequest(requestContainer);
break;
case MESSAGE_TYPE__StubGPIOWriteByteRequest:
Stub_GPIOWriteByteRequest(requestContainer);
break;
case MESSAGE_TYPE__StubHeaterRequest:
Stub_HeaterRequest(requestContainer);
break;
case MESSAGE_TYPE__StubI2CRequest:
Stub_I2CRequest(requestContainer);
break;
// case MESSAGE_TYPE__StubOptLimitSwitchRequest:
// Stub_OptLimitSwitchRequest(requestContainer);
// break;
// case MESSAGE_TYPE__StubSteperMotorRequest:
// Stub_SteperMotorRequest(requestContainer);
// break;
case MESSAGE_TYPE__StubValveRequest:
Stub_ValveRequest(requestContainer);
break;
case MESSAGE_TYPE__StubExtFlashReadRequest:
Stub_ExtFlashReadRequest(requestContainer);
break;
case MESSAGE_TYPE__StubExtFlashWriteRequest:
Stub_ExtFlashWriteRequest(requestContainer);
break;
// case MESSAGE_TYPE__StubFPGAReadBackRegRequest:
// Stub_FPGAReadBackRegRequest(requestContainer);
// break;
case MESSAGE_TYPE__StubFPGAReadVersionRequest:
Stub_FPGAReadVersionRequest(requestContainer);
break;
/*************************************/
case MESSAGE_TYPE__StubFpgaReadRegRequest:
Stub_FpgaReadRegRequest(requestContainer);
break;
case MESSAGE_TYPE__StubFpgaWriteRegRequest:
Stub_FpgaWriteRegRequest(requestContainer);
break;
/*************************************/
// case MESSAGE_TYPE__StubL6470DriverRequest:
// Stub_L6470DriverRequest(requestContainer);
// break;
case MESSAGE_TYPE__StubMotorInitRequest:
Stub_MotorInitRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorRunRequest:
Stub_MotorRunRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorStopRequest:
Stub_MotorStopRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorStatusRequest:
Stub_MotorStatusRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorPositionRequest:
Stub_MotorPositionRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorSpeedRequest:
Stub_MotorSpeedRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorRequest:
Stub_MotorRequest(requestContainer);
break;
case MESSAGE_TYPE__StubMotorMovRequest:
Stub_MotorMovRequest(requestContainer);
break;
case MESSAGE_TYPE__StubJobRequest:
Stub_JobRequest(requestContainer);
break;
case MESSAGE_TYPE__StubAbortJobRequest:
Stub_AbortJobRequest(requestContainer);
break;
// case MESSAGE_TYPE__StubHWVersionRequest:
// Stub_HWVersionRequest(requestContainer);
// break;
case MESSAGE_TYPE__StartDebugLogRequest:
ReportInitMessage(requestContainer);
break;
case MESSAGE_TYPE__StopDebugLogRequest:
StopReportInitMessage(requestContainer);
break;
case MESSAGE_TYPE__SetDebugLogCategoryRequest:
SetDebugLogCategoryFunc(requestContainer);
break;
case MESSAGE_TYPE__SetupDebugDisributorsRequest:
SetupDebugDisributorsRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__JobRequest:
JobRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__AbortJobRequest:
JobAbortFunc(requestContainer);
break;
case MESSAGE_TYPE__CurrentJobRequest:
CurrentJobRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ResumeCurrentJobRequest:
ResumeCurrentJobRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StartHeadCleaningRequest:
ThreadCleaningJobFunc(requestContainer);
break;
case MESSAGE_TYPE__AbortHeadCleaningRequest:
ThreadCleaningAbortJobFunc(requestContainer);
break;
case MESSAGE_TYPE__UploadHardwareConfigurationRequest:
HWConfigurationFunc(requestContainer);
break;
case MESSAGE_TYPE__UploadProcessParametersRequest:
ProcessRequestFunc(requestContainer);
break;
//functions stolen for thread load process tests
// void ThreadLoadPollRequest(MessageContainer* requestContainer)
// void ThreadLoadRequest(MessageContainer* requestContainer)
// HeatingTestRequest(requestContainer);
// HeatingTestPollRequest(requestContainer);
case MESSAGE_TYPE__StubHeatingTestRequest:
ThreadLoadRequest(requestContainer);
break;
case MESSAGE_TYPE__StubHeatingTestPollRequest:
ThreadLoadPollRequest(requestContainer);
break;
case MESSAGE_TYPE__StubReadEmbeddedVersionRequest:
Stub_ReadEmbeddedVersionRequest(requestContainer);
break;
case MESSAGE_TYPE__SystemResetRequest:
HWSystemResetRequest(requestContainer);
break;
// case MESSAGE_TYPE__StubTivaReadRegRequest:
// Stub_TivaReadRegRequest(requestContainer);
// break;
// case MESSAGE_TYPE__StubTivaWriteRegRequest:
// Stub_TivaWriteRegRequest(requestContainer);
// break;
case MESSAGE_TYPE__StubDancerPositionRequest:
Stub_DancerPositionRequest(requestContainer);
break;
// case MESSAGE_TYPE__StubSpeedSensorRequest:
// Stub_SpeedSensorRequest(requestContainer);
// break;
case MESSAGE_TYPE__StubRealTimeUsageRequest:
Stub_RealTimeUsageRequest(requestContainer);
break;
case MESSAGE_TYPE__StubIntADCReadRequest:
Stub_IntADCReadRequest(requestContainer);
break;
case MESSAGE_TYPE__StubTempSensorRequest:
Stub_TempSensorRequest(requestContainer);
break;
case MESSAGE_TYPE__ConnectRequest:
ConnectionRequest(requestContainer);
break;
case MESSAGE_TYPE__DisconnectRequest:
DisconnectionRequest(requestContainer);
break;
case MESSAGE_TYPE__StartDiagnosticsRequest:
StartDiagnosticsRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StopDiagnosticsRequest:
StopDiagnosticsRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StartEventsNotificationRequest:
StartEventsNotificationRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__SetHeaterStateRequest:
SetHeaterStateRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StopEventsNotificationRequest:
StopEventsNotificationRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ResolveEventRequest:
ResolveEventRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MotorAbortHomingRequest:
MotorAbortHomingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MotorHomingRequest:
MotorHomingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MotorJoggingRequest:
MotorJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MotorAbortJoggingRequest:
MotorAbortJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__DispenserAbortHomingRequest:
DispenserAbortHomingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__DispenserHomingRequest:
DispenserHomingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__DispenserJoggingRequest:
DispenserJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__DispenserAbortJoggingRequest:
DispenserAbortJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__SetComponentValueRequest:
SetComponentValueRequestRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__SetDigitalOutRequest:
SetDigitalOutRequestRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__SetValveStateRequest:
SetValveStateRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__SetBlowerStateRequest:
SetBlowerStateRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ThreadJoggingRequest:
ThreadJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ThreadAbortJoggingRequest:
ThreadAbortJoggingRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StubI2CReadBytesRequest:
Stub_I2CReadBytesRequest(requestContainer);
break;
case MESSAGE_TYPE__StubI2CWriteBytesRequest:
Stub_I2CWriteBytesRequest(requestContainer);
break;
case MESSAGE_TYPE__StubExtFlashWriteWordsRequest:
Stub_ExtFlashWriteWordsRequest(requestContainer);
break;
case MESSAGE_TYPE__StubExtFlashReadWordsRequest:
Stub_ExtFlashReadWordsRequest(requestContainer);
break;
case MESSAGE_TYPE__KeepAliveRequest:
KeepAliveRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__KeepAliveResponse:
KeepAliveResponseFunc(requestContainer);
break;
case MESSAGE_TYPE__FileUploadRequest:
FileUploadRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__FileChunkUploadRequest:
FileChunkUploadRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__FileDownloadRequest:
FileDownloadRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__FileChunkDownloadRequest:
FileChunkDownloadRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ExecuteProcessRequest:
ExecuteProcessRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__KillProcessRequest:
KillProcessRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__CreateRequest:
CreateRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__DeleteRequest:
DeleteRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__GetStorageInfoRequest:
GetStorageInfoRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__GetFilesRequest:
GetFilesRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ActivateVersionRequest:
ActivateVersionRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__ValidateVersionRequest:
ValidateVersionRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StubMidTankPressureSensorRequest:
Stub_MidTankPressureSensorRequest(requestContainer);
break;
case MESSAGE_TYPE__DispenserDataRequest:
DispenserDataRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__CartridgeValidationResponse:
CartridgeValidationResponseFunc(requestContainer);
break;
case MESSAGE_TYPE__StartInkFillingStatusRequest:
StartInkFillingStatusRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MidTankDataSetupRequest:
MidTankDataSetupFunc(requestContainer);
break;
case MESSAGE_TYPE__MachineCalibrationDataRequest:
MachineCalibrationDataRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__MainCardStoredDataRequest:
MainCardStoredItemRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StartMachineStatusUpdateRequest:
MachineUpdateInitFunc(requestContainer);
break;
case MESSAGE_TYPE__StopMachineStatusUpdateRequest:
StopMachineUpdateFunc(requestContainer);
break;
case MESSAGE_TYPE__StartPowerDownRequest:
PowerDownUpdateFunc(requestContainer);
break;
case MESSAGE_TYPE__AbortPowerDownRequest:
AbortPowerDownFunc(requestContainer);
break;
case MESSAGE_TYPE__StartPowerUpRequest:
PowerUpUpdateFunc(requestContainer);
break;
case MESSAGE_TYPE__AbortPowerUpRequest:
AbortPowerUpFunc(requestContainer);
break;
case MESSAGE_TYPE__StartThreadLoadingRequest:
StartThreadLoadingFunc(requestContainer);
break;
case MESSAGE_TYPE__ContinueThreadLoadingRequest:
ContinueThreadLoadingFunc(requestContainer);
break;
case MESSAGE_TYPE__StopThreadLoadingRequest:
StopThreadLoadingFunc(requestContainer);
break;
case MESSAGE_TYPE__StubDispenserEEpromRequest:
StubDispenserEEpromRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StubWhsEEpromRequest:
WhsEEpromRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StubMainCardEEpromReadRequest:
MainCardEEpromReadRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__StubMainCardEEpromWriteRequest:
MainCardEEpromWriteRequestFunc(requestContainer);
break;
case MESSAGE_TYPE__TryThreadLoadingRequest:
TryThreadLoadingFunc(requestContainer);
break;
default:
//unsupported message type !!
LOG_ERROR (requestContainer->type,"unsupported message type");
break;
}
message_container__free_unpacked(requestContainer, NULL);
}
bool SendResult,KeepSendResult = true;
/*uint16_t SendmsgId[MAX_CONT_LOG+1] = {0};
uint16_t SendSize[MAX_CONT_LOG+1] = {0};
uint32_t SendTime[MAX_CONT_LOG+1] = {0};
bool Sendresult[MAX_CONT_LOG+1] = {0};
uint16_t Sendindex = 0;*/
bool SendChars(char* buffer,size_t length)
{
/* SendmsgId[Sendindex] = 0xFFFF;
SendSize[Sendindex] = length;
SendTime[Sendindex] = msec_millisecondCounter;
if (Sendindex++>=MAX_CONT_LOG)
Sendindex = 0;*/
SendResult = CommunicationTaskSendMessage(buffer, length);
if (SendResult == false)
KeepSendResult = false;
return SendResult;
}
bool SendCharsWithType(char* buffer,size_t length,MessageType type)
{
// SendmsgId[Sendindex] = type;
// SendSize[Sendindex] = length;
// SendTime[Sendindex] = msec_millisecondCounter;
SendResult = CommunicationTaskSendMessage(buffer, length);
// Sendresult[Sendindex] = SendResult;
//if (Sendindex++>=MAX_CONT_LOG)
// Sendindex = 0;
if (SendResult == false)
KeepSendResult = false;
return SendResult;
}
|