Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
b83d0b35
Commit
b83d0b35
authored
Oct 29, 2015
by
Dave Hylands
Committed by
Damien George
Oct 30, 2015
Browse files
stmhal: Add define for UNIQUE_ID address (differs per MCU)
parent
823a961e
Changes
3
Hide whitespace changes
Inline
Side-by-side
stmhal/modmachine.c
View file @
b83d0b35
...
...
@@ -38,13 +38,14 @@
#include
"pin.h"
#include
"timer.h"
#include
"usb.h"
#include MICROPY_HAL_H
// machine.info([dump_alloc_table])
// Print out lots of information about the board.
STATIC
mp_obj_t
machine_info
(
mp_uint_t
n_args
,
const
mp_obj_t
*
args
)
{
// get and print unique id; 96 bits
{
byte
*
id
=
(
byte
*
)
0x1fff7a10
;
byte
*
id
=
(
byte
*
)
MP_HAL_UNIQUE_ID_ADDRESS
;
printf
(
"ID=%02x%02x%02x%02x:%02x%02x%02x%02x:%02x%02x%02x%02x
\n
"
,
id
[
0
],
id
[
1
],
id
[
2
],
id
[
3
],
id
[
4
],
id
[
5
],
id
[
6
],
id
[
7
],
id
[
8
],
id
[
9
],
id
[
10
],
id
[
11
]);
}
...
...
stmhal/mphal.h
View file @
b83d0b35
// We use the ST Cube HAL library for most hardware peripherals
#include STM32_HAL_H
// The unique id address differs per MCU. Ideally this define should
// go in some MCU-specific header, but for now it lives here.
#if defined(MCU_SERIES_F4)
#define MP_HAL_UNIQUE_ID_ADDRESS (0x1fff7a10)
#elif defined(MCU_SERIES_F7)
#define MP_HAL_UNIQUE_ID_ADDRESS (0x1ff0f420)
#else
#error mphal.h: Unrecognized MCU_SERIES
#endif
// Basic GPIO functions
#define GPIO_read_pin(gpio, pin) (((gpio)->IDR >> (pin)) & 1)
#if defined(MCU_SERIES_F7)
...
...
stmhal/usbd_desc.c
View file @
b83d0b35
...
...
@@ -33,6 +33,10 @@
#include
"usbd_desc.h"
#include
"usbd_conf.h"
// need these headers just for MP_HAL_UNIQUE_ID_ADDRESS
#include
"py/misc.h"
#include MICROPY_HAL_H
// So we don't clash with existing ST boards, we use the unofficial FOSS VID.
// This needs a proper solution.
#define USBD_VID 0xf055
...
...
@@ -169,7 +173,7 @@ STATIC uint8_t *USBD_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *leng
//
// See: https://my.st.com/52d187b7 for the algorithim used.
uint8_t
*
id
=
(
uint8_t
*
)
0x1fff7a10
;
uint8_t
*
id
=
(
uint8_t
*
)
MP_HAL_UNIQUE_ID_ADDRESS
;
char
serial_buf
[
16
];
snprintf
(
serial_buf
,
sizeof
(
serial_buf
),
"%02X%02X%02X%02X%02X%02X"
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment