SPIKE-RT C API Reference [Japanese]
An RTOS-based software platform for LEGO® Education SPIKE™.
pybricks.h
1
/*
2
* SPDX-License-Identifier: MIT
3
*
4
* Header for Pybricks Task.
5
*
6
* Copyright (c) 2022 Embedded and Real-Time Systems Laboratory,
7
* Graduate School of Information Science, Nagoya Univ., JAPAN
8
*/
9
10
#include <kernel.h>
11
12
/*
13
* Macro definitions
14
*/
15
#ifndef TOPPERS_USE_QEMU
16
#define PYBRICKS_TASK_ATR TA_ACT
17
#else
18
#define PYBRICKS_TASK_ATR TA_NULL
19
#endif
20
21
#define PYBRICKS_PRIORITY 4
/* タスクの優先度 */
22
23
#define PYBRICKS_STACK_SIZE 0x2000
/* タスクのスタックサイズ 8KB */
24
25
#define INHNO_DMA1_STREAM3 (DMA1_Stream3_IRQn + 16)
/* 割込みハンドラ番号 */
26
#define INTNO_DMA1_STREAM3 (DMA1_Stream3_IRQn + 16)
/* 割込み番号 */
27
#define INTPRI_DMA1_STREAM3 (TMIN_INTPRI + 5)
/* 割込み優先度 */
28
#define INTATR_DMA1_STREAM3 TA_NULL
/* 割込み属性 */
29
30
#define INHNO_DMA1_STREAM4 (DMA1_Stream4_IRQn + 16)
/* 割込みハンドラ番号 */
31
#define INTNO_DMA1_STREAM4 (DMA1_Stream4_IRQn + 16)
/* 割込み番号 */
32
#define INTPRI_DMA1_STREAM4 (TMIN_INTPRI + 5)
/* 割込み優先度 */
33
#define INTATR_DMA1_STREAM4 TA_NULL
/* 割込み属性 */
34
35
#define INHNO_DMA1_STREAM5 (DMA1_Stream5_IRQn + 16)
/* 割込みハンドラ番号 */
36
#define INTNO_DMA1_STREAM5 (DMA1_Stream5_IRQn + 16)
/* 割込み番号 */
37
#define INTPRI_DMA1_STREAM5 (TMIN_INTPRI + 4)
/* 割込み優先度 */
38
#define INTATR_DMA1_STREAM5 TA_NULL
/* 割込み属性 */
39
40
#define INHNO_DMA1_STREAM6 (DMA1_Stream6_IRQn + 16)
/* 割込みハンドラ番号 */
41
#define INTNO_DMA1_STREAM6 (DMA1_Stream6_IRQn + 16)
/* 割込み番号 */
42
#define INTPRI_DMA1_STREAM6 (TMIN_INTPRI + 1)
/* 割込み優先度 */
43
#define INTATR_DMA1_STREAM6 TA_NULL
/* 割込み属性 */
44
45
#define INHNO_DMA1_STREAM7 (DMA1_Stream7_IRQn + 16)
/* 割込みハンドラ番号 */
46
#define INTNO_DMA1_STREAM7 (DMA1_Stream7_IRQn + 16)
/* 割込み番号 */
47
#define INTPRI_DMA1_STREAM7 (TMIN_INTPRI + 1)
/* 割込み優先度 */
48
#define INTATR_DMA1_STREAM7 TA_NULL
/* 割込み属性 */
49
50
#define INHNO_DMA2_STREAM0 (DMA2_Stream0_IRQn + 16)
/* 割込みハンドラ番号 */
51
#define INTNO_DMA2_STREAM0 (DMA2_Stream0_IRQn + 16)
/* 割込み番号 */
52
#define INTPRI_DMA2_STREAM0 (TMIN_INTPRI + 7)
/* 割込み優先度 */
53
#define INTATR_DMA2_STREAM0 TA_NULL
/* 割込み属性 */
54
55
#define INHNO_DMA2_STREAM2 (DMA2_Stream2_IRQn + 16)
/* 割込みハンドラ番号 */
56
#define INTNO_DMA2_STREAM2 (DMA2_Stream2_IRQn + 16)
/* 割込み番号 */
57
#define INTPRI_DMA2_STREAM2 (TMIN_INTPRI + 7)
/* 割込み優先度 */
58
#define INTATR_DMA2_STREAM2 TA_NULL
/* 割込み属性 */
59
60
#define INHNO_DMA2_STREAM3 (DMA2_Stream3_IRQn + 16)
/* 割込みハンドラ番号 */
61
#define INTNO_DMA2_STREAM3 (DMA2_Stream3_IRQn + 16)
/* 割込み番号 */
62
#define INTPRI_DMA2_STREAM3 (TMIN_INTPRI + 7)
/* 割込み優先度 */
63
#define INTATR_DMA2_STREAM3 TA_NULL
/* 割込み属性 */
64
65
#define INHNO_USART2 (USART2_IRQn + 16)
/* 割込みハンドラ番号 */
66
#define INTNO_USART2 (USART2_IRQn + 16)
/* 割込み番号 */
67
#define INTPRI_USART2 (TMIN_INTPRI + 1)
/* 割込み優先度 */
68
#define INTATR_USART2 TA_NULL
/* 割込み属性 */
69
70
#define INHNO_UART4 (UART4_IRQn + 16)
/* 割込みハンドラ番号 */
71
#define INTNO_UART4 (UART4_IRQn + 16)
/* 割込み番号 */
72
#define INTPRI_UART4 (TMIN_INTPRI + 0)
/* 割込み優先度 */
73
#define INTATR_UART4 TA_NULL
/* 割込み属性 */
74
75
#define INHNO_UART5 (UART5_IRQn + 16)
/* 割込みハンドラ番号 */
76
#define INTNO_UART5 (UART5_IRQn + 16)
/* 割込み番号 */
77
#define INTPRI_UART5 (TMIN_INTPRI + 0)
/* 割込み優先度 */
78
#define INTATR_UART5 TA_NULL
/* 割込み属性 */
79
80
#define INHNO_UART7 (UART7_IRQn + 16)
/* 割込みハンドラ番号 */
81
#define INTNO_UART7 (UART7_IRQn + 16)
/* 割込み番号 */
82
#define INTPRI_UART7 (TMIN_INTPRI + 0)
/* 割込み優先度 */
83
#define INTATR_UART7 TA_NULL
/* 割込み属性 */
84
85
#define INHNO_UART8 (UART8_IRQn + 16)
/* 割込みハンドラ番号 */
86
#define INTNO_UART8 (UART8_IRQn + 16)
/* 割込み番号 */
87
#define INTPRI_UART8 (TMIN_INTPRI + 0)
/* 割込み優先度 */
88
#define INTATR_UART8 TA_NULL
/* 割込み属性 */
89
90
#define INHNO_UART9 (UART9_IRQn + 16)
/* 割込みハンドラ番号 */
91
#define INTNO_UART9 (UART9_IRQn + 16)
/* 割込み番号 */
92
#define INTPRI_UART9 (TMIN_INTPRI + 0)
/* 割込み優先度 */
93
#define INTATR_UART9 TA_NULL
/* 割込み属性 */
94
95
#define INHNO_UART10 (UART10_IRQn + 16)
/* 割込みハンドラ番号 */
96
#define INTNO_UART10 (UART10_IRQn + 16)
/* 割込み番号 */
97
#define INTPRI_UART10 (TMIN_INTPRI + 0)
/* 割込み優先度 */
98
#define INTATR_UART10 TA_NULL
/* 割込み属性 */
99
100
#define INHNO_SPI1 (SPI1_IRQn + 16)
/* 割込みハンドラ番号 */
101
#define INTNO_SPI1 (SPI1_IRQn + 16)
/* 割込み番号 */
102
#define INTPRI_SPI1 (TMIN_INTPRI + 7)
/* 割込み優先度 */
103
#define INTATR_SPI1 TA_NULL
/* 割込み属性 */
104
105
#define INHNO_SPI2 (SPI2_IRQn + 16)
/* 割込みハンドラ番号 */
106
#define INTNO_SPI2 (SPI2_IRQn + 16)
/* 割込み番号 */
107
#define INTPRI_SPI2 (TMIN_INTPRI + 6)
/* 割込み優先度 */
108
#define INTATR_SPI2 TA_NULL
/* 割込み属性 */
109
110
#define INHNO_OTG_FS (OTG_FS_IRQn + 16)
/* 割込みハンドラ番号 */
111
#define INTNO_OTG_FS (OTG_FS_IRQn + 16)
/* 割込み番号 */
112
#define INTPRI_OTG_FS (TMIN_INTPRI + 6)
/* 割込み優先度 */
113
#define INTATR_OTG_FS TA_NULL
/* 割込み属性 */
114
115
#define INHNO_I2C2_ER (I2C2_ER_IRQn + 16)
/* 割込みハンドラ番号 */
116
#define INTNO_I2C2_ER (I2C2_ER_IRQn + 16)
/* 割込み番号 */
117
#define INTPRI_I2C2_ER (TMIN_INTPRI + 3)
/* 割込み優先度 */
118
#define INTATR_I2C2_ER TA_NULL
/* 割込み属性 */
119
120
#define INHNO_I2C2_EV (I2C2_EV_IRQn + 16)
/* 割込みハンドラ番号 */
121
#define INTNO_I2C2_EV (I2C2_EV_IRQn + 16)
/* 割込み番号 */
122
#define INTPRI_I2C2_EV (TMIN_INTPRI + 3)
/* 割込み優先度 */
123
#define INTATR_I2C2_EV TA_NULL
/* 割込み属性 */
124
125
#define INHNO_EXTI9_5 (EXTI9_5_IRQn + 16)
/* 割込みハンドラ番号 */
126
#define INTNO_EXTI9_5 (EXTI9_5_IRQn + 16)
/* 割込み番号 */
127
#define INTPRI_EXTI9_5 (TMIN_INTPRI + 6)
/* 割込み優先度 */
128
#define INTATR_EXTI9_5 TA_NULL
/* 割込み属性 */
129
130
131
/*
132
* Prototype declarations
133
*/
134
#ifndef TOPPERS_MACRO_ONLY
135
136
extern
void
pb_main_task(intptr_t exinf);
137
extern
void
pbdrv_timer_handler(
void
);
138
139
#endif
/* TOPPERS_MACRO_ONLY */
構築:
1.9.4