I have a float variable , which needs to be passed as uint8_t to the function .
How do I convert back to float original value .
Code:
bool SetAnalog(uint8_t number, float voltage, MessagePriority priority, Callback clbck)
{
uint8_t args[2];
args[0] = number;
memcpy(&(args[1]),&voltage,sizeof(float));
PTCLoopOutMessage* message = parent()->GetLoopOutMessage(this,
this->address(),
_OutputVoltage,
"DACVoltage",
args,
sizeof(args),
Device,
priority);
message->SetCallback(clbck);
return ProcessOutMessage(message);
}
I try to get back the float original value from uint8_t array and need to assign to probe[channel]
uint8_t channel = message->GetOutMessage()->GetData()->data[0];
unsigned char* value = &message->GetOutMessage()->GetData()->data[1];
memcpy(&__output.output.probe[channel].dac, value, sizeof(float));
I always get value as 0,
Please Help