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 | */ |