Freemaster wishlist

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Freemaster wishlist

1,318 Views
Bohrfutter
Contributor III

Hello Freemaster dev team,

I would like to request some features for the next release:

  1. Feature: When opening the project all tree items should be closed (or store the state of the tree in the project file). Right now we have to close everything to get an overview (we have >50 subblocks). 
  2. Bugfix: For FreemasterOverCANPlugin store the path of the ZLG ControlCAN.dll in the project file - right now I have to select the DLL every time I open the project.
  3. Feature: Reduce CPU load when connected to MCU (add some sleep - so the CPU can rest). Especially notebooks create a lot of noise if one CPU core is running at 100% when connected to the MCU.
  4. Feature: Password protection when accessing the MCU via Freemaster (simple implementation / not encrypted)
  5. Feature: Add virtual CAN hardware in the MCU communication driver - user application can handle the FlexCAN registers (finde my implementation attached) and forward the messages to the Freemaster code. Like:
//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

0 Kudos
1 Reply

1,231 Views
MichalH
NXP Apps Support
NXP Apps Support

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

0 Kudos