You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.1 KiB
93 lines
2.1 KiB
/**
|
|
* \file
|
|
* \brief Module to identify different devices based on their unique ID.
|
|
* \author Erich Styger, erich.styger@hslu.ch
|
|
* \license SPDX-License-Identifier: BSD-3-Clause
|
|
* With this module individual devices are identified based on their unique ID.
|
|
*/
|
|
|
|
#ifndef __IDENTIFY_H_
|
|
#define __IDENTIFY_H_
|
|
|
|
#include "platform.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if PL_CONFIG_USE_IDENTIFY
|
|
#if PL_CONFIG_USE_SHELL
|
|
#include "McuShell.h"
|
|
|
|
/*!
|
|
* \brief Parses a command
|
|
* \param cmd Command string to be parsed
|
|
* \param handled Sets this variable to TRUE if command was handled
|
|
* \param io I/O stream to be used for input/output
|
|
* \return Error code, ERR_OK if everything was fine
|
|
*/
|
|
uint8_t ID_ParseCommand(const unsigned char *cmd, bool *handled, const McuShell_StdIOType *io);
|
|
#endif /* PL_CONFIG_USE_SHELL */
|
|
|
|
typedef enum { /*! \todo ADIS: Verify and update information */
|
|
ID_ROBOT_E0,
|
|
ID_ROBOT_E1,
|
|
ID_ROBOT_E2,
|
|
ID_ROBOT_E3,
|
|
ID_ROBOT_E4,
|
|
ID_ROBOT_E5,
|
|
ID_ROBOT_E6,
|
|
ID_ROBOT_E7,
|
|
ID_ROBOT_E8,
|
|
ID_ROBOT_E9,
|
|
ID_ROBOT_E10,
|
|
ID_ROBOT_E11,
|
|
ID_ROBOT_E12,
|
|
ID_ROBOT_E13,
|
|
ID_ROBOT_E14,
|
|
// ID_ROBOT_E15,
|
|
// ID_ROBOT_E16,
|
|
ID_ROBOT_E17,
|
|
ID_ROBOT_E18,
|
|
ID_ROBOT_E27,
|
|
ID_ROBOT_E34, /* no robot? */
|
|
|
|
ID_ROBOT_L0, /* USB port ripped off */
|
|
ID_ROBOT_L1,
|
|
ID_ROBOT_L3,
|
|
ID_ROBOT_L17,
|
|
ID_ROBOT_L20,
|
|
|
|
ID_ROBOT_R0, /* USB port ripped off */
|
|
ID_ROBOT_R8,
|
|
ID_ROBOT_R9,
|
|
ID_ROBOT_R23,
|
|
ID_ROBOT_R27,
|
|
ID_ROBOT_R28,
|
|
ID_ROBOT_R29,
|
|
ID_ROBOT_R32,
|
|
ID_ROBOT_R33,
|
|
ID_ROBOT_R34,
|
|
ID_ROBOT_R36,
|
|
ID_ROBOT_R37,
|
|
ID_ROBOT_R44,
|
|
ID_ROBOT_R45,
|
|
|
|
ID_ROBOT_UNKNOWN, /* unknown robot, unknown ID */
|
|
ID_ROBOT_NONE /* initialization value, used internally */
|
|
} ID_Robot_e;
|
|
|
|
ID_Robot_e ID_WhichDevice(void);
|
|
|
|
/*! \brief Module de-initialization */
|
|
void ID_Deinit(void);
|
|
|
|
/*! \brief Module initialization */
|
|
void ID_Init(void);
|
|
#endif /* PL_CONFIG_USE_IDENTIFY */
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __IDENTIFY_H_ */
|
|
|