mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Merge pull request #334 from kwagyeman/omv_module
Add openmv version info module.
This commit is contained in:
commit
ffcf70a57c
@ -210,6 +210,7 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/img/,\
|
|||||||
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/py/, \
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/py/, \
|
||||||
py_helper.o \
|
py_helper.o \
|
||||||
|
py_omv.o \
|
||||||
py_sensor.o \
|
py_sensor.o \
|
||||||
py_image.o \
|
py_image.o \
|
||||||
py_time.o \
|
py_time.o \
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 5d1b550a5f94bc7fefd06c790e40a6e8f35cee9e
|
Subproject commit 6416c0f7455668c37b9fffdff4937b31d379fe06
|
||||||
@ -80,6 +80,7 @@ SRCS += $(addprefix img/, \
|
|||||||
|
|
||||||
SRCS += $(addprefix py/, \
|
SRCS += $(addprefix py/, \
|
||||||
py_helper.c \
|
py_helper.c \
|
||||||
|
py_omv.c \
|
||||||
py_sensor.c \
|
py_sensor.c \
|
||||||
py_image.c \
|
py_image.c \
|
||||||
py_time.c \
|
py_time.c \
|
||||||
|
|||||||
61
src/omv/py/py_omv.c
Normal file
61
src/omv/py/py_omv.c
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/* This file is part of the OpenMV project.
|
||||||
|
* Copyright (c) 2013-2018 Ibrahim Abdelkader <iabdalkader@openmv.io> & Kwabena W. Agyeman <kwagyeman@openmv.io>
|
||||||
|
* This work is licensed under the MIT license, see the file LICENSE for details.
|
||||||
|
*/
|
||||||
|
#include <mp.h>
|
||||||
|
#include "usbdbg.h"
|
||||||
|
#include "omv_boardconfig.h"
|
||||||
|
|
||||||
|
static mp_obj_t py_omv_version_string()
|
||||||
|
{
|
||||||
|
char str[12];
|
||||||
|
snprintf(str, 12, "%d.%d.%d",
|
||||||
|
FIRMWARE_VERSION_MAJOR,
|
||||||
|
FIRMWARE_VERSION_MINOR,
|
||||||
|
FIRMWARE_VERSION_PATCH);
|
||||||
|
return mp_obj_new_str(str, strlen(str));
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_omv_version_string_obj, py_omv_version_string);
|
||||||
|
|
||||||
|
static mp_obj_t py_omv_arch()
|
||||||
|
{
|
||||||
|
char *str = OMV_ARCH_STR;
|
||||||
|
return mp_obj_new_str(str, strlen(str));
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_omv_arch_obj, py_omv_arch);
|
||||||
|
|
||||||
|
static mp_obj_t py_omv_board_type()
|
||||||
|
{
|
||||||
|
char *str = OMV_BOARD_TYPE;
|
||||||
|
return mp_obj_new_str(str, strlen(str));
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_omv_board_type_obj, py_omv_board_type);
|
||||||
|
|
||||||
|
static mp_obj_t py_omv_board_id()
|
||||||
|
{
|
||||||
|
char str[25];
|
||||||
|
snprintf(str, 25, "%08X%08X%08X",
|
||||||
|
*((unsigned int *) (OMV_UNIQUE_ID_ADDR + 8)),
|
||||||
|
*((unsigned int *) (OMV_UNIQUE_ID_ADDR + 4)),
|
||||||
|
*((unsigned int *) (OMV_UNIQUE_ID_ADDR + 0)));
|
||||||
|
return mp_obj_new_str(str, strlen(str));
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_omv_board_id_obj, py_omv_board_id);
|
||||||
|
|
||||||
|
static const mp_rom_map_elem_t globals_dict_table[] = {
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_omv) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_version_major), MP_ROM_INT(FIRMWARE_VERSION_MAJOR) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_version_minor), MP_ROM_INT(FIRMWARE_VERSION_MINOR) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_version_patch), MP_ROM_INT(FIRMWARE_VERSION_PATCH) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_version_string), MP_ROM_PTR(&py_omv_version_string_obj) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_arch), MP_ROM_PTR(&py_omv_arch_obj) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_board_type), MP_ROM_PTR(&py_omv_board_type_obj) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&py_omv_board_id_obj) }
|
||||||
|
};
|
||||||
|
|
||||||
|
STATIC MP_DEFINE_CONST_DICT(globals_dict, globals_dict_table);
|
||||||
|
|
||||||
|
const mp_obj_module_t omv_module = {
|
||||||
|
.base = { &mp_type_module },
|
||||||
|
.globals = (mp_obj_t) &globals_dict,
|
||||||
|
};
|
||||||
@ -7,6 +7,16 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// OMV Module
|
||||||
|
Q(omv)
|
||||||
|
Q(version_major)
|
||||||
|
Q(version_minor)
|
||||||
|
Q(version_patch)
|
||||||
|
Q(version_string)
|
||||||
|
Q(arch)
|
||||||
|
Q(board_type)
|
||||||
|
Q(board_id)
|
||||||
|
|
||||||
// Image module
|
// Image module
|
||||||
Q(image)
|
Q(image)
|
||||||
Q(Image)
|
Q(Image)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user