Subversion Repositories DashDisplay

Rev

Rev 56 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 56 Rev 61
Line 271... Line 271...
271
    assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode));
271
    assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode));
272
    assert_param(IS_OPAMP_FUNCTIONAL_NORMALMODE(hopamp->Init.Mode));
272
    assert_param(IS_OPAMP_FUNCTIONAL_NORMALMODE(hopamp->Init.Mode));
273
    assert_param(IS_OPAMP_NONINVERTING_INPUT_CHECK_INSTANCE(hopamp, hopamp->Init.NonInvertingInput));
273
    assert_param(IS_OPAMP_NONINVERTING_INPUT_CHECK_INSTANCE(hopamp, hopamp->Init.NonInvertingInput));
274
    assert_param(IS_OPAMP_TRIMMING(hopamp->Init.UserTrimming));
274
    assert_param(IS_OPAMP_TRIMMING(hopamp->Init.UserTrimming));
275
 
275
 
276
    if(hopamp->State == HAL_OPAMP_STATE_RESET)
-
 
277
    {  
-
 
278
#if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
276
#if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
279
    if(hopamp->MspInitCallback == NULL)
277
    if(hopamp->State == HAL_OPAMP_STATE_RESET)
280
    {
278
    {
-
 
279
      if(hopamp->MspInitCallback == NULL)
-
 
280
      {
281
      hopamp->MspInitCallback               = HAL_OPAMP_MspInit;
281
        hopamp->MspInitCallback               = HAL_OPAMP_MspInit;
282
    }
282
      }
283
#endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
-
 
284
    }
283
    }
285
 
-
 
-
 
284
#endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
286
 
285
 
287
    if (hopamp->Init.Mode != OPAMP_FOLLOWER_MODE)
286
    if (hopamp->Init.Mode != OPAMP_FOLLOWER_MODE)
288
    {
287
    {
289
      assert_param(IS_OPAMP_INVERTING_INPUT(hopamp->Init.InvertingInput));
288
      assert_param(IS_OPAMP_INVERTING_INPUT(hopamp->Init.InvertingInput));
290
    }
289
    }
Line 719... Line 718...
719
  * @param  hopamp handle
718
  * @param  hopamp handle
720
  * @retval Updated offset trimming values (PMOS & NMOS), user trimming is enabled
719
  * @retval Updated offset trimming values (PMOS & NMOS), user trimming is enabled
721
  * @retval HAL status
720
  * @retval HAL status
722
  */
721
  */
723
HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef* hopamp)
722
HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef* hopamp)
724
{
723
{
725
  HAL_StatusTypeDef status = HAL_OK;
724
  HAL_StatusTypeDef status = HAL_OK;
726
 
725
 
727
  uint32_t* opamp_trimmingvalue;
726
  uint32_t* opamp_trimmingvalue;
728
  uint32_t opamp_trimmingvaluen = 0;
727
  uint32_t opamp_trimmingvaluen = 0;
729
  uint32_t opamp_trimmingvaluep = 0;
728
  uint32_t opamp_trimmingvaluep = 0;
Line 906... Line 905...
906
      /* Store calibration (user trimming) results in init structure. */
905
      /* Store calibration (user trimming) results in init structure. */
907
     
906
     
908
      /* Set user trimming mode */  
907
      /* Set user trimming mode */  
909
      hopamp->Init.UserTrimming = OPAMP_TRIMMING_USER;
908
      hopamp->Init.UserTrimming = OPAMP_TRIMMING_USER;
910
     
909
     
-
 
910
      /* Check on unsupported value */
-
 
911
      if(opamp_trimmingvaluep == 0x1FU)  /* 0x1F is not functional */
-
 
912
      {
-
 
913
        opamp_trimmingvaluep = 30U;
-
 
914
      }
-
 
915
       
-
 
916
      if(opamp_trimmingvaluen == 0x1FU)  /* 0x1F is not functional */
-
 
917
      {
-
 
918
        opamp_trimmingvaluen = 30U;
-
 
919
      }
-
 
920
 
911
      /* Affect calibration parameters depending on mode normal/low power */
921
      /* Affect calibration parameters depending on mode normal/low power */
912
      if (hopamp->Init.PowerMode != OPAMP_POWERMODE_LOWPOWER)
922
      if (hopamp->Init.PowerMode != OPAMP_POWERMODE_LOWPOWER)
913
      {
923
      {
914
        /* Write calibration result N */
924
        /* Write calibration result N */
915
        hopamp->Init.TrimmingValueN = opamp_trimmingvaluen;
925
        hopamp->Init.TrimmingValueN = opamp_trimmingvaluen;
Line 935... Line 945...
935
      status = HAL_ERROR;
945
      status = HAL_ERROR;
936
    }
946
    }
937
  }
947
  }
938
 
948
 
939
  return status;
949
  return status;
-
 
950
 
940
}
951
}
941
 
952
 
942
/**
953
/**
943
  * @}
954
  * @}
944
  */
955
  */