Skip to content

Commit 347b38a

Browse files
author
Vehicle Researcher
committed
openpilot v0.3.0-dirty release
1 parent 0a747f9 commit 347b38a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+56388
-14039
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.DS_Store
22
.tags
33
.ipynb_checkpoints
4+
model2.png
45

56
*.pyc
67
.*.swp
@@ -11,12 +12,13 @@
1112
*.so
1213
*.a
1314
*.clb
15+
*.class
1416
config.json
1517
clcache
1618

1719
board/obj/
1820
selfdrive/boardd/boardd
1921
selfdrive/logcatd/logcatd
20-
selfdrive/sensord/sensord
2122
selfdrive/ui/ui
23+
/src/
2224

.travis.yml

-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,3 @@ script:
1010
- docker run --rm
1111
-v "$(pwd)"/selfdrive/test/plant/out:/tmp/openpilot/selfdrive/test/plant/out
1212
tmppilot /bin/sh -c 'cd /tmp/openpilot/selfdrive/test/plant && ./runtest.sh'
13-

RELEASES.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
Version 0.3.0 (2017-03-xx)
2+
===========================
3+
* Add CarParams struct to improve the abstraction layer
4+
* Refactor visiond IPC to support multiple clients
5+
* Add raw GPS and beginning support for navigation
6+
17
Version 0.2.9 (2017-03-01)
28
===========================
39
* Retain compatibility with NEOS v1

board/Makefile

+3-37
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,9 @@
11
# :set noet
22
PROJ_NAME = comma
3-
43
CFLAGS = -g -O0 -Wall
4+
55
CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m3
66
CFLAGS += -msoft-float -DSTM32F2 -DSTM32F205xx
7-
CFLAGS += -I inc -nostdlib
8-
CFLAGS += -Tstm32_flash.ld
9-
10-
CC = arm-none-eabi-gcc
11-
OBJCOPY = arm-none-eabi-objcopy
12-
OBJDUMP = arm-none-eabi-objdump
13-
14-
MACHINE = $(shell uname -m)
15-
16-
all: obj/$(PROJ_NAME).bin
17-
#$(OBJDUMP) -d obj/$(PROJ_NAME).elf
18-
./tools/enter_download_mode.py
19-
./tools/dfu-util-$(MACHINE) -a 0 -s 0x08000000 -D $<
20-
./tools/dfu-util-$(MACHINE) --reset-stm32 -a 0 -s 0x08000000
21-
22-
ifneq ($(wildcard ../.git/HEAD),)
23-
obj/gitversion.h: ../.git/HEAD ../.git/index
24-
echo "const uint8_t gitversion[] = \"$(shell git rev-parse HEAD)\";" > $@
25-
else
26-
obj/gitversion.h:
27-
echo "const uint8_t gitversion[] = \"RELEASE\";" > $@
28-
endif
29-
30-
obj/main.o: main.c *.h obj/gitversion.h
31-
$(CC) $(CFLAGS) -o $@ -c $<
32-
33-
obj/startup_stm32f205xx.o: startup_stm32f205xx.s
34-
mkdir -p obj
35-
$(CC) $(CFLAGS) -o $@ -c $<
36-
37-
obj/$(PROJ_NAME).bin: obj/startup_stm32f205xx.o obj/main.o
38-
$(CC) $(CFLAGS) -o obj/$(PROJ_NAME).elf $^
39-
$(OBJCOPY) -v -O binary obj/$(PROJ_NAME).elf $@
40-
41-
clean:
42-
rm -f obj/*
7+
STARTUP_FILE = startup_stm32f205xx
438

9+
include build.mk

board/adc.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ void adc_init() {
1515
ADC1->CR2 = ADC_CR2_ADON;
1616

1717
// long
18-
ADC1->SMPR1 = ADC_SMPR1_SMP10 | ADC_SMPR1_SMP11 | ADC_SMPR1_SMP12 | ADC_SMPR1_SMP13;
18+
//ADC1->SMPR1 = ADC_SMPR1_SMP10 | ADC_SMPR1_SMP11 | ADC_SMPR1_SMP12 | ADC_SMPR1_SMP13;
19+
ADC1->SMPR1 = ADC_SMPR1_SMP12 | ADC_SMPR1_SMP13;
1920
}
2021

2122
uint32_t adc_get(int channel) {

board/build.mk

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
CFLAGS += -I inc -nostdlib
2+
CFLAGS += -Tstm32_flash.ld
3+
4+
CC = arm-none-eabi-gcc
5+
OBJCOPY = arm-none-eabi-objcopy
6+
OBJDUMP = arm-none-eabi-objdump
7+
8+
MACHINE = $(shell uname -m)
9+
10+
all: obj/$(PROJ_NAME).bin
11+
#$(OBJDUMP) -d obj/$(PROJ_NAME).elf
12+
./tools/enter_download_mode.py
13+
./tools/dfu-util-$(MACHINE) -a 0 -s 0x08000000 -D $<
14+
./tools/dfu-util-$(MACHINE) --reset-stm32 -a 0 -s 0x08000000
15+
16+
ifneq ($(wildcard ../.git/HEAD),)
17+
obj/gitversion.h: ../.git/HEAD ../.git/index
18+
echo "const uint8_t gitversion[] = \"$(shell git rev-parse HEAD)\";" > $@
19+
else
20+
obj/gitversion.h:
21+
echo "const uint8_t gitversion[] = \"RELEASE\";" > $@
22+
endif
23+
24+
obj/main.$(PROJ_NAME).o: main.c *.h obj/gitversion.h
25+
$(CC) $(CFLAGS) -o $@ -c $<
26+
27+
obj/$(STARTUP_FILE).o: $(STARTUP_FILE).s
28+
mkdir -p obj
29+
$(CC) $(CFLAGS) -o $@ -c $<
30+
31+
obj/$(PROJ_NAME).bin: obj/$(STARTUP_FILE).o obj/main.$(PROJ_NAME).o
32+
$(CC) $(CFLAGS) -o obj/$(PROJ_NAME).elf $^
33+
$(OBJCOPY) -v -O binary obj/$(PROJ_NAME).elf $@
34+
35+
clean:
36+
rm -f obj/*
37+

board/can.h

+32-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
11
void can_init(CAN_TypeDef *CAN) {
22
// enable CAN busses
33
if (CAN == CAN1) {
4-
// CAN1_EN
5-
GPIOB->ODR |= (1 << 3);
4+
#ifdef PANDA
5+
// CAN1_EN
6+
GPIOC->ODR &= ~(1 << 1);
7+
#else
8+
// CAN1_EN
9+
GPIOB->ODR |= (1 << 3);
10+
#endif
611
} else if (CAN == CAN2) {
7-
// CAN2_EN
8-
GPIOB->ODR |= (1 << 4);
12+
#ifdef PANDA
13+
// CAN2_EN
14+
GPIOC->ODR &= ~(1 << 13);
15+
#else
16+
// CAN2_EN
17+
GPIOB->ODR |= (1 << 4);
18+
#endif
19+
#ifdef CAN3
20+
} else if (CAN == CAN3) {
21+
// CAN3_EN
22+
GPIOA->ODR &= ~(1 << 0);
23+
#endif
924
}
1025

1126
CAN->MCR = CAN_MCR_TTCM | CAN_MCR_INRQ;
1227
while((CAN->MSR & CAN_MSR_INAK) != CAN_MSR_INAK);
13-
puts("CAN initting\n");
1428

1529
// PCLK = 24000000, 500000 is 48 clocks
1630
// from http://www.bittiming.can-wiki.ino/
@@ -23,8 +37,17 @@ void can_init(CAN_TypeDef *CAN) {
2337

2438
// reset
2539
CAN->MCR = CAN_MCR_TTCM;
26-
while((CAN->MSR & CAN_MSR_INAK) == CAN_MSR_INAK);
27-
puts("CAN init done\n");
40+
41+
#define CAN_TIMEOUT 1000000
42+
int tmp = 0;
43+
while((CAN->MSR & CAN_MSR_INAK) == CAN_MSR_INAK && tmp < CAN_TIMEOUT) tmp++;
44+
45+
if (tmp == CAN_TIMEOUT) {
46+
set_led(LED_BLUE, 1);
47+
puts("CAN init FAILED!!!!!\n");
48+
} else {
49+
puts("CAN init done\n");
50+
}
2851

2952
// accept all filter
3053
CAN->FMR |= CAN_FMR_FINIT;
@@ -46,6 +69,8 @@ void can_init(CAN_TypeDef *CAN) {
4669
// CAN error
4770
void can_sce(CAN_TypeDef *CAN) {
4871
#ifdef DEBUG
72+
if (CAN==CAN1) puts("CAN1: ");
73+
if (CAN==CAN2) puts("CAN2: ");
4974
puts("MSR:");
5075
puth(CAN->MSR);
5176
puts(" TSR:");

0 commit comments

Comments
 (0)