@@ -36,7 +36,7 @@ void can_init(can_t *obj, PinName rd, PinName td)
36
36
obj -> can = (CANName )pinmap_merge (can_rd , can_td );
37
37
MBED_ASSERT ((int )obj -> can != NC );
38
38
39
- if (obj -> can == CAN_1 ) {
39
+ if (obj -> can == CAN_1 ) {
40
40
__HAL_RCC_CAN1_CLK_ENABLE ();
41
41
obj -> index = 0 ;
42
42
}
@@ -173,11 +173,11 @@ int can_frequency(can_t *obj, int f)
173
173
174
174
if (btr > 0 ) {
175
175
can -> MCR |= CAN_MCR_INRQ ;
176
- while ((can -> MSR & CAN_MSR_INAK ) != CAN_MSR_INAK ) {
176
+ while ((can -> MSR & CAN_MSR_INAK ) != CAN_MSR_INAK ) {
177
177
}
178
178
can -> BTR = btr ;
179
179
can -> MCR &= ~(uint32_t )CAN_MCR_INRQ ;
180
- while ((can -> MSR & CAN_MSR_INAK ) == CAN_MSR_INAK ) {
180
+ while ((can -> MSR & CAN_MSR_INAK ) == CAN_MSR_INAK ) {
181
181
}
182
182
return 1 ;
183
183
} else {
@@ -203,12 +203,9 @@ int can_write(can_t *obj, CAN_Message msg, int cc)
203
203
204
204
if (transmitmailbox != CAN_TXSTATUS_NOMAILBOX ) {
205
205
can -> sTxMailBox [transmitmailbox ].TIR &= CAN_TI0R_TXRQ ;
206
- if (!(msg .format ))
207
- {
206
+ if (!(msg .format )) {
208
207
can -> sTxMailBox [transmitmailbox ].TIR |= ((msg .id << 21 ) | msg .type );
209
- }
210
- else
211
- {
208
+ } else {
212
209
can -> sTxMailBox [transmitmailbox ].TIR |= ((msg .id << 3 ) | CAN_ID_EXT | msg .type );
213
210
}
214
211
@@ -262,7 +259,7 @@ int can_read(can_t *obj, CAN_Message *msg, int handle)
262
259
msg -> data [7 ] = (uint8_t )0xFF & (can -> sFIFOMailBox [handle ].RDHR >> 24 );
263
260
264
261
/* Release the FIFO */
265
- if (handle == CAN_FIFO0 ) {
262
+ if (handle == CAN_FIFO0 ) {
266
263
/* Release FIFO0 */
267
264
can -> RF0R = CAN_RF0R_RFOM0 ;
268
265
} else { /* FIFONumber == CAN_FIFO1 */
@@ -315,7 +312,7 @@ int can_mode(can_t *obj, CanMode mode)
315
312
int success = 0 ;
316
313
CAN_TypeDef * can = (CAN_TypeDef * )(obj -> can );
317
314
can -> MCR |= CAN_MCR_INRQ ;
318
- while ((can -> MSR & CAN_MSR_INAK ) != CAN_MSR_INAK ) {
315
+ while ((can -> MSR & CAN_MSR_INAK ) != CAN_MSR_INAK ) {
319
316
}
320
317
switch (mode ) {
321
318
case MODE_NORMAL :
@@ -342,7 +339,7 @@ int can_mode(can_t *obj, CanMode mode)
342
339
break ;
343
340
}
344
341
can -> MCR &= ~(uint32_t )CAN_MCR_INRQ ;
345
- while ((can -> MSR & CAN_MSR_INAK ) == CAN_MSR_INAK ) {
342
+ while ((can -> MSR & CAN_MSR_INAK ) == CAN_MSR_INAK ) {
346
343
}
347
344
return success ;
348
345
}
@@ -352,27 +349,24 @@ int can_filter(can_t *obj, uint32_t id, uint32_t mask, CANFormat format, int32_t
352
349
int retval = 0 ;
353
350
354
351
// filter for CANAny format cannot be configured for STM32
355
- if ((format == CANStandard ) || (format == CANExtended )) {
356
-
352
+ if ((format == CANStandard ) || (format == CANExtended )) {
357
353
CanHandle .Instance = (CAN_TypeDef * )(obj -> can );
358
354
CAN_FilterConfTypeDef sFilterConfig ;
359
-
360
355
sFilterConfig .FilterNumber = handle ;
361
356
sFilterConfig .FilterMode = CAN_FILTERMODE_IDMASK ;
362
357
sFilterConfig .FilterScale = CAN_FILTERSCALE_32BIT ;
363
358
364
- if (format == CANStandard ) {
359
+ if (format == CANStandard ) {
365
360
sFilterConfig .FilterIdHigh = id << 5 ;
366
361
sFilterConfig .FilterIdLow = 0x0 ;
367
362
sFilterConfig .FilterMaskIdHigh = mask << 5 ;
368
363
sFilterConfig .FilterMaskIdLow = 0x0 ; // allows both remote and data frames
369
- }
370
- else if (format == CANExtended ){
364
+ } else if (format == CANExtended ) {
371
365
sFilterConfig .FilterIdHigh = id >> 13 ; // EXTID[28:13]
372
366
sFilterConfig .FilterIdLow = (0x00FF & (id << 3 )) | (1 << 2 ); // EXTID[12:0]
373
367
sFilterConfig .FilterMaskIdHigh = mask >> 13 ;
374
368
sFilterConfig .FilterMaskIdLow = (0x00FF & (mask << 3 )) | (1 << 2 );
375
- }
369
+ }
376
370
377
371
sFilterConfig .FilterFIFOAssignment = 0 ;
378
372
sFilterConfig .FilterActivation = ENABLE ;
@@ -389,7 +383,7 @@ static void can_irq(CANName name, int id)
389
383
uint32_t tmp1 = 0 , tmp2 = 0 , tmp3 = 0 ;
390
384
CanHandle .Instance = (CAN_TypeDef * )name ;
391
385
392
- if (__HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_TME )) {
386
+ if (__HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_TME )) {
393
387
tmp1 = __HAL_CAN_TRANSMIT_STATUS (& CanHandle , CAN_TXMAILBOX_0 );
394
388
tmp2 = __HAL_CAN_TRANSMIT_STATUS (& CanHandle , CAN_TXMAILBOX_1 );
395
389
tmp3 = __HAL_CAN_TRANSMIT_STATUS (& CanHandle , CAN_TXMAILBOX_2 );
@@ -402,27 +396,27 @@ static void can_irq(CANName name, int id)
402
396
tmp1 = __HAL_CAN_MSG_PENDING (& CanHandle , CAN_FIFO0 );
403
397
tmp2 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_FMP0 );
404
398
405
- if ((tmp1 != 0 ) && tmp2 ) {
399
+ if ((tmp1 != 0 ) && tmp2 ) {
406
400
irq_handler (can_irq_ids [id ], IRQ_RX );
407
401
}
408
402
409
403
tmp1 = __HAL_CAN_GET_FLAG (& CanHandle , CAN_FLAG_EPV );
410
404
tmp2 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_EPV );
411
405
tmp3 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_ERR );
412
406
413
- if (tmp1 && tmp2 && tmp3 ) {
407
+ if (tmp1 && tmp2 && tmp3 ) {
414
408
irq_handler (can_irq_ids [id ], IRQ_PASSIVE );
415
409
}
416
410
417
411
tmp1 = __HAL_CAN_GET_FLAG (& CanHandle , CAN_FLAG_BOF );
418
412
tmp2 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_BOF );
419
413
tmp3 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_ERR );
420
- if (tmp1 && tmp2 && tmp3 ) {
414
+ if (tmp1 && tmp2 && tmp3 ) {
421
415
irq_handler (can_irq_ids [id ], IRQ_BUS );
422
416
}
423
417
424
418
tmp3 = __HAL_CAN_GET_IT_SOURCE (& CanHandle , CAN_IT_ERR );
425
- if (tmp1 && tmp2 && tmp3 ) {
419
+ if (tmp1 && tmp2 && tmp3 ) {
426
420
irq_handler (can_irq_ids [id ], IRQ_ERROR );
427
421
}
428
422
}
@@ -440,7 +434,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
440
434
uint32_t vector = 0 ;
441
435
uint32_t ier ;
442
436
443
- if (obj -> can == CAN_1 ) {
437
+ if (obj -> can == CAN_1 ) {
444
438
switch (type ) {
445
439
case IRQ_RX :
446
440
ier = CAN_IT_FMP0 ;
@@ -463,7 +457,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
463
457
vector = (uint32_t )& CAN_IRQHandler ;
464
458
}
465
459
466
- if (enable ) {
460
+ if (enable ) {
467
461
can -> IER |= ier ;
468
462
} else {
469
463
can -> IER &= ~ier ;
0 commit comments