Skip to content

Commit 8732e4f

Browse files
authored
Misra 10 1: Operands shall not be of an inappropriate essential type (commaai#232)
Fixe Misra 10.1 violations
1 parent ae816c1 commit 8732e4f

File tree

8 files changed

+64
-64
lines changed

8 files changed

+64
-64
lines changed

board/config.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
#include "stm32f2xx.h"
1313
#endif
1414

15-
#define USB_VID 0xbbaa
15+
#define USB_VID 0xbbaaU
1616

1717
#ifdef BOOTSTUB
18-
#define USB_PID 0xddee
18+
#define USB_PID 0xddeeU
1919
#else
20-
#define USB_PID 0xddcc
20+
#define USB_PID 0xddccU
2121
#endif
2222

2323
#include <stdbool.h>

board/drivers/adc.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void adc_init(void) {
1919
ADC1->SMPR1 = ADC_SMPR1_SMP12 | ADC_SMPR1_SMP13;
2020
}
2121

22-
uint32_t adc_get(int channel) {
22+
uint32_t adc_get(unsigned int channel) {
2323
// includes length
2424
//ADC1->SQR1 = 0;
2525

board/drivers/can.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ typedef struct {
99
CAN_FIFOMailBox_TypeDef *elems;
1010
} can_ring;
1111

12-
#define CAN_BUS_RET_FLAG 0x80
13-
#define CAN_BUS_NUM_MASK 0x7F
12+
#define CAN_BUS_RET_FLAG 0x80U
13+
#define CAN_BUS_NUM_MASK 0x7FU
1414

1515
#define BUS_MAX 4
1616

@@ -130,7 +130,7 @@ void can_set_speed(uint8_t can_number) {
130130
CAN_TypeDef *CAN = CANIF_FROM_CAN_NUM(can_number);
131131
uint8_t bus_number = BUS_NUM_FROM_CAN_NUM(can_number);
132132

133-
if (!llcan_set_speed(CAN, can_speed[bus_number], can_loopback, can_silent & (1 << can_number))) {
133+
if (!llcan_set_speed(CAN, can_speed[bus_number], can_loopback, can_silent & (1U << can_number))) {
134134
puts("CAN init FAILED!!!!!\n");
135135
puth(can_number); puts(" ");
136136
puth(BUS_NUM_FROM_CAN_NUM(can_number)); puts("\n");
@@ -249,7 +249,7 @@ void process_can(uint8_t can_number) {
249249
if ((CAN->TSR & CAN_TSR_TXOK0) == CAN_TSR_TXOK0) {
250250
CAN_FIFOMailBox_TypeDef to_push;
251251
to_push.RIR = CAN->sTxMailBox[0].TIR;
252-
to_push.RDTR = (CAN->sTxMailBox[0].TDTR & 0xFFFF000F) | ((CAN_BUS_RET_FLAG | bus_number) << 4);
252+
to_push.RDTR = (CAN->sTxMailBox[0].TDTR & 0xFFFF000FU) | ((CAN_BUS_RET_FLAG | bus_number) << 4);
253253
to_push.RDLR = CAN->sTxMailBox[0].TDLR;
254254
to_push.RDHR = CAN->sTxMailBox[0].TDHR;
255255
can_push(&can_rx_q, &to_push);

board/drivers/gmlan_alt.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ int do_bitstuff(char *out, char *in, int in_len) {
4141
}
4242

4343
int append_crc(char *in, int in_len) {
44-
int crc = 0;
44+
unsigned int crc = 0;
4545
for (int i = 0; i < in_len; i++) {
4646
crc <<= 1;
47-
if ((in[i] ^ ((crc >> 15) & 1)) != 0) {
48-
crc = crc ^ 0x4599;
47+
if ((in[i] ^ ((crc >> 15) & 1U)) != 0) {
48+
crc = crc ^ 0x4599U;
4949
}
50-
crc &= 0x7fff;
50+
crc &= 0x7fffU;
5151
}
5252
for (int i = 14; i >= 0; i--) {
53-
in[in_len] = (crc>>i)&1;
53+
in[in_len] = (crc >> (unsigned int)(i)) & 1U;
5454
in_len++;
5555
}
5656
return in_len;
@@ -66,7 +66,7 @@ int append_bits(char *in, int in_len, char *app, int app_len) {
6666

6767
int append_int(char *in, int in_len, int val, int val_len) {
6868
for (int i = val_len-1; i >= 0; i--) {
69-
in[in_len] = (val&(1<<i)) != 0;
69+
in[in_len] = ((unsigned int)(val) & (1U << (unsigned int)(i))) != 0;
7070
in_len++;
7171
}
7272
return in_len;
@@ -92,7 +92,7 @@ int get_bit_message(char *out, CAN_FIFOMailBox_TypeDef *to_bang) {
9292
// extended identifier
9393
len = append_int(pkt, len, to_bang->RIR >> 21, 11); // Identifier
9494
len = append_int(pkt, len, 3, 2); // SRR+IDE
95-
len = append_int(pkt, len, (to_bang->RIR >> 3) & ((1<<18)-1), 18); // Identifier
95+
len = append_int(pkt, len, (to_bang->RIR >> 3) & ((1U << 18) - 1), 18); // Identifier
9696
len = append_int(pkt, len, 0, 3); // RTR+r1+r0
9797
} else {
9898
// standard identifier
@@ -168,9 +168,9 @@ void reset_gmlan_switch_timeout(void) {
168168

169169
void set_bitbanged_gmlan(int val) {
170170
if (val != 0) {
171-
GPIOB->ODR |= (1 << 13);
171+
GPIOB->ODR |= (1U << 13);
172172
} else {
173-
GPIOB->ODR &= ~(1 << 13);
173+
GPIOB->ODR &= ~(1U << 13);
174174
}
175175
}
176176

board/drivers/llgpio.h

+15-15
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@
77
#define PULL_UP 1
88
#define PULL_DOWN 2
99

10-
void set_gpio_mode(GPIO_TypeDef *GPIO, int pin, int mode) {
10+
void set_gpio_mode(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
1111
uint32_t tmp = GPIO->MODER;
12-
tmp &= ~(3 << (pin*2));
13-
tmp |= (mode << (pin*2));
12+
tmp &= ~(3U << (pin * 2U));
13+
tmp |= (mode << (pin * 2U));
1414
GPIO->MODER = tmp;
1515
}
1616

17-
void set_gpio_output(GPIO_TypeDef *GPIO, int pin, bool enabled) {
17+
void set_gpio_output(GPIO_TypeDef *GPIO, unsigned int pin, bool enabled) {
1818
if (enabled) {
19-
GPIO->ODR |= (1 << pin);
19+
GPIO->ODR |= (1U << pin);
2020
} else {
21-
GPIO->ODR &= ~(1 << pin);
21+
GPIO->ODR &= ~(1U << pin);
2222
}
2323
set_gpio_mode(GPIO, pin, MODE_OUTPUT);
2424
}
2525

26-
void set_gpio_alternate(GPIO_TypeDef *GPIO, int pin, int mode) {
27-
uint32_t tmp = GPIO->AFR[pin>>3];
28-
tmp &= ~(0xF << ((pin&7)*4));
29-
tmp |= mode << ((pin&7)*4);
30-
GPIO->AFR[pin>>3] = tmp;
26+
void set_gpio_alternate(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
27+
uint32_t tmp = GPIO->AFR[pin >> 3U];
28+
tmp &= ~(0xFU << ((pin & 7U) * 4U));
29+
tmp |= mode << ((pin & 7U) * 4U);
30+
GPIO->AFR[pin >> 3] = tmp;
3131
set_gpio_mode(GPIO, pin, MODE_ALTERNATE);
3232
}
3333

34-
void set_gpio_pullup(GPIO_TypeDef *GPIO, int pin, int mode) {
34+
void set_gpio_pullup(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
3535
uint32_t tmp = GPIO->PUPDR;
36-
tmp &= ~(3 << (pin*2));
37-
tmp |= (mode << (pin*2));
36+
tmp &= ~(3U << (pin * 2U));
37+
tmp |= (mode << (pin * 2U));
3838
GPIO->PUPDR = tmp;
3939
}
4040

41-
int get_gpio_input(GPIO_TypeDef *GPIO, int pin) {
41+
int get_gpio_input(GPIO_TypeDef *GPIO, unsigned int pin) {
4242
return (GPIO->IDR & (1U << pin)) == (1U << pin);
4343
}
4444

board/drivers/spi.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ void spi_init(void) {
2828

2929
// setup interrupt on falling edge of SPI enable (on PA4)
3030
SYSCFG->EXTICR[2] = SYSCFG_EXTICR2_EXTI4_PA;
31-
EXTI->IMR |= (1 << 4);
32-
EXTI->FTSR |= (1 << 4);
31+
EXTI->IMR |= (1U << 4);
32+
EXTI->FTSR |= (1U << 4);
3333
NVIC_EnableIRQ(EXTI4_IRQn);
3434
}
3535

@@ -113,12 +113,12 @@ void DMA2_Stream3_IRQHandler(void) {
113113
}
114114

115115
void EXTI4_IRQHandler(void) {
116-
volatile int pr = EXTI->PR & (1 << 4);
116+
volatile int pr = EXTI->PR & (1U << 4);
117117
#ifdef DEBUG_SPI
118118
puts("exti4\n");
119119
#endif
120120
// SPI CS falling
121-
if ((pr & (1 << 4)) != 0) {
121+
if ((pr & (1U << 4)) != 0) {
122122
spi_total_count = 0;
123123
spi_rx_dma(spi_buf, 0x14);
124124
}

board/drivers/uart.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@ void clear_uart_buff(uart_ring *q) {
200200
#define __DIVFRAQ(_PCLK_, _BAUD_) ((((__DIV((_PCLK_), (_BAUD_)) - (__DIVMANT((_PCLK_), (_BAUD_)) * 100)) * 16) + 50) / 100)
201201
#define __USART_BRR(_PCLK_, _BAUD_) ((__DIVMANT((_PCLK_), (_BAUD_)) << 4) | (__DIVFRAQ((_PCLK_), (_BAUD_)) & 0x0F))
202202

203-
void uart_set_baud(USART_TypeDef *u, int baud) {
203+
void uart_set_baud(USART_TypeDef *u, unsigned int baud) {
204204
if (u == USART1) {
205205
// USART1 is on APB2
206-
u->BRR = __USART_BRR(48000000, baud);
206+
u->BRR = __USART_BRR(48000000U, baud);
207207
} else {
208-
u->BRR = __USART_BRR(24000000, baud);
208+
u->BRR = __USART_BRR(24000000U, baud);
209209
}
210210
}
211211

@@ -330,15 +330,15 @@ void puth(unsigned int i) {
330330
int pos;
331331
char c[] = "0123456789abcdef";
332332
for (pos = 28; pos != -4; pos -= 4) {
333-
putch(c[(i >> pos) & 0xF]);
333+
putch(c[(i >> (unsigned int)(pos)) & 0xFU]);
334334
}
335335
}
336336

337337
void puth2(unsigned int i) {
338338
int pos;
339339
char c[] = "0123456789abcdef";
340340
for (pos = 4; pos != -4; pos -= 4) {
341-
putch(c[(i >> pos) & 0xF]);
341+
putch(c[(i >> (unsigned int)(pos)) & 0xFU]);
342342
}
343343
}
344344

board/drivers/usb.h

+23-23
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ USB_OTG_GlobalTypeDef *USBx = USB_OTG_FS;
9696
#define STS_SETUP_COMP 4
9797
#define STS_SETUP_UPDT 6
9898

99-
#define USBD_FS_TRDT_VALUE 5
99+
#define USBD_FS_TRDT_VALUE 5U
100100

101101
#define USB_OTG_SPEED_FULL 3
102102

@@ -125,7 +125,7 @@ uint8_t resp[MAX_RESP_LEN];
125125

126126
// Convert machine byte order to USB byte order
127127
#define TOUSBORDER(num)\
128-
((num) & 0xFF), (((num) >> 8) & 0xFF)
128+
((num) & 0xFFU), (((num) >> 8) & 0xFFU)
129129

130130
// take in string length and return the first 2 bytes of a string descriptor
131131
#define STRING_DESCRIPTOR_HEADER(size)\
@@ -158,7 +158,7 @@ uint8_t device_qualifier[] = {
158158

159159
uint8_t configuration_desc[] = {
160160
DSCR_CONFIG_LEN, USB_DESC_TYPE_CONFIGURATION, // Length, Type,
161-
TOUSBORDER(0x0045), // Total Len (uint16)
161+
TOUSBORDER(0x0045U), // Total Len (uint16)
162162
0x01, 0x01, STRING_OFFSET_ICONFIGURATION, // Num Interface, Config Value, Configuration
163163
0xc0, 0x32, // Attributes, Max Power
164164
// interface 0 ALT 0
@@ -169,17 +169,17 @@ uint8_t configuration_desc[] = {
169169
// endpoint 1, read CAN
170170
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
171171
ENDPOINT_RCV | 1, ENDPOINT_TYPE_BULK, // Endpoint Num/Direction, Type
172-
TOUSBORDER(0x0040), // Max Packet (0x0040)
172+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
173173
0x00, // Polling Interval (NA)
174174
// endpoint 2, send serial
175175
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
176176
ENDPOINT_SND | 2, ENDPOINT_TYPE_BULK, // Endpoint Num/Direction, Type
177-
TOUSBORDER(0x0040), // Max Packet (0x0040)
177+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
178178
0x00, // Polling Interval
179179
// endpoint 3, send CAN
180180
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
181181
ENDPOINT_SND | 3, ENDPOINT_TYPE_BULK, // Endpoint Num/Direction, Type
182-
TOUSBORDER(0x0040), // Max Packet (0x0040)
182+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
183183
0x00, // Polling Interval
184184
// interface 0 ALT 1
185185
DSCR_INTERFACE_LEN, USB_DESC_TYPE_INTERFACE, // Length, Type
@@ -189,17 +189,17 @@ uint8_t configuration_desc[] = {
189189
// endpoint 1, read CAN
190190
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
191191
ENDPOINT_RCV | 1, ENDPOINT_TYPE_INT, // Endpoint Num/Direction, Type
192-
TOUSBORDER(0x0040), // Max Packet (0x0040)
192+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
193193
0x05, // Polling Interval (5 frames)
194194
// endpoint 2, send serial
195195
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
196196
ENDPOINT_SND | 2, ENDPOINT_TYPE_BULK, // Endpoint Num/Direction, Type
197-
TOUSBORDER(0x0040), // Max Packet (0x0040)
197+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
198198
0x00, // Polling Interval
199199
// endpoint 3, send CAN
200200
DSCR_ENDPOINT_LEN, USB_DESC_TYPE_ENDPOINT, // Length, Type
201201
ENDPOINT_SND | 3, ENDPOINT_TYPE_BULK, // Endpoint Num/Direction, Type
202-
TOUSBORDER(0x0040), // Max Packet (0x0040)
202+
TOUSBORDER(0x0040U), // Max Packet (0x0040)
203203
0x00, // Polling Interval
204204
};
205205

@@ -471,10 +471,10 @@ void usb_reset(void) {
471471
USBx->GRXFSIZ = 0x40;
472472

473473
// 0x100 to offset past GRXFSIZ
474-
USBx->DIEPTXF0_HNPTXFSIZ = (0x40 << 16) | 0x40;
474+
USBx->DIEPTXF0_HNPTXFSIZ = (0x40U << 16) | 0x40U;
475475

476476
// EP1, massive
477-
USBx->DIEPTXF[0] = (0x40 << 16) | 0x80;
477+
USBx->DIEPTXF[0] = (0x40U << 16) | 0x80U;
478478

479479
// flush TX fifo
480480
USBx->GRSTCTL = USB_OTG_GRSTCTL_TXFFLSH | USB_OTG_GRSTCTL_TXFNUM_4;
@@ -487,7 +487,7 @@ void usb_reset(void) {
487487
USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK;
488488

489489
// ready to receive setup packets
490-
USBx_OUTEP(0)->DOEPTSIZ = USB_OTG_DOEPTSIZ_STUPCNT | (USB_OTG_DOEPTSIZ_PKTCNT & (1 << 19)) | (3 * 8);
490+
USBx_OUTEP(0)->DOEPTSIZ = USB_OTG_DOEPTSIZ_STUPCNT | (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)) | (3U << 3);
491491
}
492492

493493
char to_hex_char(int a) {
@@ -506,17 +506,17 @@ void usb_setup(void) {
506506
switch (setup.b.bRequest) {
507507
case USB_REQ_SET_CONFIGURATION:
508508
// enable other endpoints, has to be here?
509-
USBx_INEP(1)->DIEPCTL = (0x40 & USB_OTG_DIEPCTL_MPSIZ) | (2 << 18) | (1 << 22) |
509+
USBx_INEP(1)->DIEPCTL = (0x40U & USB_OTG_DIEPCTL_MPSIZ) | (2U << 18) | (1U << 22) |
510510
USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DIEPCTL_USBAEP;
511511
USBx_INEP(1)->DIEPINT = 0xFF;
512512

513-
USBx_OUTEP(2)->DOEPTSIZ = (1 << 19) | 0x40;
514-
USBx_OUTEP(2)->DOEPCTL = (0x40 & USB_OTG_DOEPCTL_MPSIZ) | (2 << 18) |
513+
USBx_OUTEP(2)->DOEPTSIZ = (1U << 19) | 0x40U;
514+
USBx_OUTEP(2)->DOEPCTL = (0x40U & USB_OTG_DOEPCTL_MPSIZ) | (2U << 18) |
515515
USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP;
516516
USBx_OUTEP(2)->DOEPINT = 0xFF;
517517

518-
USBx_OUTEP(3)->DOEPTSIZ = (1 << 19) | 0x40;
519-
USBx_OUTEP(3)->DOEPCTL = (0x40 & USB_OTG_DOEPCTL_MPSIZ) | (2 << 18) |
518+
USBx_OUTEP(3)->DOEPTSIZ = (1U << 19) | 0x40U;
519+
USBx_OUTEP(3)->DOEPCTL = (0x40U & USB_OTG_DOEPCTL_MPSIZ) | (2U << 18) |
520520
USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP;
521521
USBx_OUTEP(3)->DOEPINT = 0xFF;
522522

@@ -529,7 +529,7 @@ void usb_setup(void) {
529529
break;
530530
case USB_REQ_SET_ADDRESS:
531531
// set now?
532-
USBx_DEVICE->DCFG |= ((setup.b.wValue.w & 0x7f) << 4);
532+
USBx_DEVICE->DCFG |= ((setup.b.wValue.w & 0x7fU) << 4);
533533

534534
#ifdef DEBUG_USB
535535
puts(" set address\n");
@@ -683,7 +683,7 @@ void usb_init(void) {
683683
USBx->GUSBCFG = USB_OTG_GUSBCFG_PHYSEL | USB_OTG_GUSBCFG_FDMOD;
684684

685685
// slowest timings
686-
USBx->GUSBCFG |= (uint32_t)((USBD_FS_TRDT_VALUE << 10) & USB_OTG_GUSBCFG_TRDT);
686+
USBx->GUSBCFG |= ((USBD_FS_TRDT_VALUE << 10) & USB_OTG_GUSBCFG_TRDT);
687687

688688
// power up the PHY
689689
#ifdef STM32F4
@@ -882,22 +882,22 @@ void usb_irqhandler(void) {
882882
#ifdef DEBUG_USB
883883
puts(" OUT2 PACKET XFRC\n");
884884
#endif
885-
USBx_OUTEP(2)->DOEPTSIZ = (1 << 19) | 0x40;
885+
USBx_OUTEP(2)->DOEPTSIZ = (1U << 19) | 0x40U;
886886
USBx_OUTEP(2)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_CNAK;
887887
}
888888

889889
if ((USBx_OUTEP(3)->DOEPINT & USB_OTG_DOEPINT_XFRC) != 0) {
890890
#ifdef DEBUG_USB
891891
puts(" OUT3 PACKET XFRC\n");
892892
#endif
893-
USBx_OUTEP(3)->DOEPTSIZ = (1 << 19) | 0x40;
893+
USBx_OUTEP(3)->DOEPTSIZ = (1U << 19) | 0x40U;
894894
USBx_OUTEP(3)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_CNAK;
895895
} else if ((USBx_OUTEP(3)->DOEPINT & 0x2000) != 0) {
896896
#ifdef DEBUG_USB
897897
puts(" OUT3 PACKET WTF\n");
898898
#endif
899899
// if NAK was set trigger this, unknown interrupt
900-
USBx_OUTEP(3)->DOEPTSIZ = (1 << 19) | 0x40;
900+
USBx_OUTEP(3)->DOEPTSIZ = (1U << 19) | 0x40U;
901901
USBx_OUTEP(3)->DOEPCTL |= USB_OTG_DOEPCTL_CNAK;
902902
} else if ((USBx_OUTEP(3)->DOEPINT) != 0) {
903903
puts("OUTEP3 error ");
@@ -907,7 +907,7 @@ void usb_irqhandler(void) {
907907

908908
if ((USBx_OUTEP(0)->DOEPINT & USB_OTG_DIEPINT_XFRC) != 0) {
909909
// ready for next packet
910-
USBx_OUTEP(0)->DOEPTSIZ = USB_OTG_DOEPTSIZ_STUPCNT | (USB_OTG_DOEPTSIZ_PKTCNT & (1 << 19)) | (1 * 8);
910+
USBx_OUTEP(0)->DOEPTSIZ = USB_OTG_DOEPTSIZ_STUPCNT | (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)) | (1U < 3);
911911
}
912912

913913
// respond to setup packets

0 commit comments

Comments
 (0)