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