Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IHM01A1 by
Diff: Components/l6474/l6474_class.cpp
- Revision:
- 7:f7e0c3621f77
- Parent:
- 6:a47569fc7534
- Child:
- 13:ba2728afe4c2
--- a/Components/l6474/l6474_class.cpp Thu Nov 19 10:56:34 2015 +0000 +++ b/Components/l6474/l6474_class.cpp Fri Nov 20 18:00:03 2015 +0000 @@ -102,21 +102,6 @@ } /********************************************************** - * @brief Attaches a user callback to the flag Interrupt - * The call back will be then called each time the status - * flag pin will be pulled down due to the occurrence of - * a programmed alarms ( OCD, thermal pre-warning or - * shutdown, UVLO, wrong command, non-performable command) - * @param[in] callback Name of the callback to attach - * to the Flag Interrupt - * @retval None - **********************************************************/ -void L6474::L6474_AttachFlagInterrupt(void (*callback)(void)) -{ - flagInterruptCallback = (void (*)(void))callback; -} - -/********************************************************** * @brief Starts the L6474 library * @retval COMPONENT_OK in case of success **********************************************************/ @@ -357,28 +342,6 @@ } } -#if 0 -/********************************************************** - * @brief Resets all L6474 devices - * @param None - * @retval None - **********************************************************/ -void L6474::L6474_ResetAllDevices(void) -{ - uint8_t loop; - - for (loop = 0; loop < numberOfDevices; loop++) - { - /* Stop movement and disable power stage*/ - L6474_HardStop(loop); - } - L6474_Reset(); - L6474_Delay(1); // Reset pin must be forced low for at least 10us - L6474_ReleaseReset(); - L6474_Delay(1); -} -#endif - /********************************************************** * @brief Runs the motor. It will accelerate from the min * speed up to the max speed by using the device acceleration. @@ -551,10 +514,10 @@ /********************************************************** * @brief Issues the GetParam command to the L6474 of the specified device - * @param[in] param Register adress (L6474_ABS_POS, L6474_MARK,...) + * @param[in] parameter Register adress (L6474_ABS_POS, L6474_MARK,...) * @retval Register value **********************************************************/ -uint32_t L6474::L6474_CmdGetParam(uint32_t param) +uint32_t L6474::L6474_CmdGetParam(L6474_Registers_t parameter) { uint32_t i; uint32_t spiRxData; @@ -583,21 +546,21 @@ spiRxBursts[3][i] = 0; } - switch (param) + switch (parameter) { case L6474_ABS_POS: ; case L6474_MARK: - spiTxBursts[0][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (param); + spiTxBursts[0][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (parameter); maxArgumentNbBytes = 3; break; case L6474_EL_POS: ; case L6474_CONFIG: ; case L6474_STATUS: - spiTxBursts[1][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (param); + spiTxBursts[1][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (parameter); maxArgumentNbBytes = 2; break; default: - spiTxBursts[2][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (param); + spiTxBursts[2][spiIndex] = ((uint8_t)L6474_GET_PARAM )| (parameter); maxArgumentNbBytes = 1; } @@ -629,7 +592,7 @@ * @retval Status Register value * @note Once the GetStatus command is performed, the flags of the status register * are reset. This is not the case when the status register is read with the - * GetParam command (via the functions L6474ReadStatusRegister or L6474CmdGetParam). + * GetParam command (via the functions L6474ReadStatusRegister or L6474_CmdGetParam). **********************************************************/ uint16_t L6474::L6474_CmdGetStatus(void) { @@ -687,11 +650,11 @@ /********************************************************** * @brief Issues the SetParam command to the L6474 of the specified device - * @param[in] param Register adress (L6474_ABS_POS, L6474_MARK,...) + * @param[in] parameter Register adress (L6474_ABS_POS, L6474_MARK,...) * @param[in] value Value to set in the register * @retval None **********************************************************/ -void L6474::L6474_CmdSetParam(uint32_t param, uint32_t value) +void L6474::L6474_CmdSetParam(L6474_Registers_t parameter, uint32_t value) { uint32_t i; uint8_t maxArgumentNbBytes = 0; @@ -715,23 +678,23 @@ spiTxBursts[3][i] = L6474_NOP; } - switch (param) + switch (parameter) { case L6474_ABS_POS: ; case L6474_MARK: - spiTxBursts[0][spiIndex] = param; + spiTxBursts[0][spiIndex] = parameter; spiTxBursts[1][spiIndex] = (uint8_t)(value >> 16); spiTxBursts[2][spiIndex] = (uint8_t)(value >> 8); maxArgumentNbBytes = 3; break; case L6474_EL_POS: ; case L6474_CONFIG: - spiTxBursts[1][spiIndex] = param; + spiTxBursts[1][spiIndex] = parameter; spiTxBursts[2][spiIndex] = (uint8_t)(value >> 8); maxArgumentNbBytes = 2; break; default: - spiTxBursts[2][spiIndex] = param; + spiTxBursts[2][spiIndex] = parameter; maxArgumentNbBytes = 1; break; } @@ -961,29 +924,8 @@ } else { - while(1) - { - /* Infinite loop */ - } - } -} - -/********************************************************** - * @brief Handlers of the flag interrupt which calls the user callback (if defined) - * @param None - * @retval None - **********************************************************/ -void L6474::L6474_FlagInterruptHandler(void) -{ - if (flagInterruptCallback != 0) - { - /* Set isr flag */ - isrFlag = TRUE; - - flagInterruptCallback(); - - /* Reset isr flag */ - isrFlag = FALSE; + /* Aborting the program. */ + exit(EXIT_FAILURE); } }