CMD0x42_Request_AnalogChannelGain.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "CommandsDefine.h"
  2. #include "ProjectConfig.h"
  3. #include "Probe_MSO7000X_2d5g.h"
  4. #include "AnalogChannelCtrl_2d5g_base.h"
  5. #include "delay.h"
  6. #include "Helper.h"
  7. void CMD0x42_Request_AnalogChannelGain_process(u8 *pData,u16 dataLen,u8 bIsContentBitInverted_Recv,u8 bIsContentBitInverted_SendBack)
  8. {
  9. #ifdef RUNNING_WHERE_AT_BOOT
  10. Command_SendbackErrorMessage(Error0x02_CannotRunAtBoot,1);
  11. #else
  12. u8 bDataOK=1;
  13. u8 validDataLength=dataLen;
  14. if (bIsContentBitInverted_Recv)
  15. {
  16. validDataLength=dataLen/2;
  17. if (!Helper_CheckInvertBytesIsRegist(pData,dataLen))
  18. bDataOK=0;
  19. }
  20. if (validDataLength<2)
  21. bDataOK=0;
  22. if (!bDataOK)
  23. {
  24. Command_SendbackErrorMessage(Error0x05_CMD_ParaLentghError,1);
  25. return;
  26. }
  27. u8 PE43711_CMD=pData[1];// get DSA(PE43711) command code
  28. u8 ADDR_CMD=pData[0];//addr
  29. if(ADDR_CMD==1)//CH1 DSA
  30. {
  31. DSA_PE43711(LMH6401_ADDR_GAIN,PE43711_CMD,CH1_DSA_CS);
  32. // printf("PE43711 data is legal\r\n");
  33. }
  34. else if(ADDR_CMD==2)//CH2 DSA
  35. {
  36. DSA_PE43711(LMH6401_ADDR_GAIN,PE43711_CMD,CH2_DSA_CS);
  37. // printf("PE43711 data is legal\r\n");
  38. }
  39. else if(ADDR_CMD==4)//CH3 DSA
  40. {
  41. DSA_PE43711(LMH6401_ADDR_GAIN,PE43711_CMD,CH3_DSA_CS);
  42. // printf("PE43711 data is legal\r\n");
  43. }
  44. else if(ADDR_CMD==8)//CH4 DSA
  45. {
  46. DSA_PE43711(LMH6401_ADDR_GAIN,PE43711_CMD,CH4_DSA_CS);
  47. // printf("PE43711 data is legal\r\n");
  48. }
  49. delay_us(20);
  50. #endif
  51. }