Hello Freemaster dev team,
I would like to request some features for the next release:
//Called from CAN IRQ
void Freemaster_CAN_Receive(flexCAN_message_t *msg)
{
FMSTR_CAN_RxMsg.Data.Longs[0u]=(msg->data.longs[0u]); //copy data
FMSTR_CAN_RxMsg.Data.Longs[1u]=(msg->data.longs[1u]); //copy data
FMSTR_CAN_RxMsg.ID=msg->id;
FMSTR_CAN_RxMsg.Length=msg->length;
FMSTR_CAN_RxMsg.Request=1u;
FMSTR_ProcessCanRx();
}
//Called every 1ms
void Freemaster_Communication(void)
{
/*do the Freemaster magic*/
if (FMSTR_CAN_TxMsg.Request)
{
flexCAN_message_t msg;
msg.data.longs[0u]=FMSTR_CAN_TxMsg.Data.Longs[0u];
msg.data.longs[1u]=FMSTR_CAN_TxMsg.Data.Longs[1u];
msg.length=FMSTR_CAN_TxMsg.Length;
msg.id=FMSTR_CAN_TxMsg.ID;
if (en_RESULT_TRUE == FLEXCAN0_transmit_msg(12u,&msg))
{
FMSTR_CAN_TxMsg.Request=0u;
}
else
{
/* Nothing */;
}
}
else
{
/* Nothing */;
}
FMSTR_Poll();
}
Thank you again for this great tool. We are using it every day to have a user interface to our NXP power products!
Best regards
Sebastian
Dear Sebastian,
thank you for your proposals. Let me comment on your points:
Ad1. Good proposal, the project will store the state of project tree items in next version.
Ad2. The ZLG plug-in stores the path to control DLL in registry and uses the path any time it starts next time. Does this feature work on your side?
Ad3. Some CPU load optimizations were made in FreeMASTER 3.0. The communication thread which was causing the high load in previous versions is scheduled to go to sleep when idle or when next sampling occurs later than 20ms ahead. The thread is not suspended if there is an active communication requested (by Oscilloscope, Variable Watch, Pipes and others) faster than this period.
Ad4. Password protection for Read-Only and for Read-Write is now available in FreeMASTER 3.0 and is supported by the new protocol v4 driver (available as part of MCUXpresso SDK).
Ad5. Thank you, I will examine your code.
Regards,
Michal