Stima V4 Slave RAIN  4.2
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
register_class.hpp File Reference

Register class (Uavcan/Other) header file. More...

#include <stdbool.h>
#include <stdint.h>
#include <uavcan/_register/Access_1_0.h>
#include <uavcan/_register/List_1_0.h>
#include "drivers/eeprom.h"

Go to the source code of this file.

Classes

class  EERegister
 

Macros

#define _REGISTER_CLASS_H
 
#define MEM_UAVCAN_LEN   EEPROMSIZE
 
#define MEM_UAVCAN_ADDR_START   REGISTER_EEPROM_ADDRESS
 
#define MEM_UAVCAN_MAX_REG   60u
 
#define MEM_UAVCAN_LEN_SIZE_T_REG   1u
 
#define MEM_UAVCAN_LEN_INTEST_REG   60u
 
#define MEM_UAVCAN_LEN_VALUE_REG   66u
 
#define MEM_UAVCAN_POS_LEN_NAME   0u
 
#define MEM_UAVCAN_POS_STR_NAME   MEM_UAVCAN_POS_LEN_NAME + MEM_UAVCAN_LEN_SIZE_T_REG
 
#define MEM_UAVCAN_POS_LEN_DATA   MEM_UAVCAN_POS_STR_NAME + MEM_UAVCAN_LEN_INTEST_REG
 
#define MEM_UAVCAN_POS_VALUE_DATA   MEM_UAVCAN_POS_LEN_DATA + MEM_UAVCAN_LEN_SIZE_T_REG
 
#define MEM_UAVCAN_LEN_NAME_REG   (MEM_UAVCAN_LEN_SIZE_T_REG + MEM_UAVCAN_LEN_INTEST_REG)
 
#define MEM_UAVCAN_LEN_DATA_REG   (MEM_UAVCAN_LEN_SIZE_T_REG + MEM_UAVCAN_LEN_VALUE_REG)
 
#define MEM_UAVCAN_LEN_REG   (MEM_UAVCAN_LEN_NAME_REG + MEM_UAVCAN_LEN_DATA_REG)
 
#define MEM_UAVCAN_START_AREA_REG   (MEM_UAVCAN_ADDR_START + MEM_UAVCAN_MAX_REG)
 
#define MEM_UAVCAN_REG_UNDEF   0xFF
 
#define MEM_UAVCAN_GET_ADDR_FLAG()   (MEM_UAVCAN_ADDR_START)
 
#define MEM_UAVCAN_GET_ADDR_FLAG_REG(X)   (MEM_UAVCAN_ADDR_START + X)
 
#define MEM_UAVCAN_GET_ADDR_NAME_LEN(X)   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X))
 
#define MEM_UAVCAN_GET_ADDR_NAME(X)   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_SIZE_T_REG)
 
#define MEM_UAVCAN_GET_ADDR_VALUE_LEN(X)   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_NAME_REG)
 
#define MEM_UAVCAN_GET_ADDR_VALUE(X)   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_NAME_REG + MEM_UAVCAN_LEN_SIZE_T_REG)
 
#define MEM_UAVCAN_GET_ADDR_BASE_REG(X)   MEM_UAVCAN_GET_ADDR_NAME_LEN(X)
 
#define MEM_UAVCAN_ADDR_END   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * MEM_UAVCAN_MAX_REG))
 
#define MEM_UAVCAN_USED_TOTAL   (MEM_UAVCAN_ADDR_END - MEM_UAVCAN_ADDR_START)
 
#define REGISTER_UAVCAN_MTU   "uavcan.can.mtu"
 
#define REGISTER_UAVCAN_BITRATE   "uavcan.can.bitrate"
 
#define REGISTER_UAVCAN_NODE_ID   "uavcan.node.id"
 
#define REGISTER_UAVCAN_UNIQUE_ID   "uavcan.node.unique_id"
 
#define REGISTER_UAVCAN_NODE_DESCR   "uavcan.node.description"
 
#define REGISTER_UAVCAN_DATA_PUBLISH   "uavcan.pub.rmap.publish.id"
 
#define REGISTER_UAVCAN_DATA_SERVICE   "uavcan.srv.rmap.service.id"
 
#define REGISTER_METADATA_LEVEL_L1   "rmap.metadata.Level.L1"
 
#define REGISTER_METADATA_LEVEL_L2   "rmap.metadata.Level.L2"
 
#define REGISTER_METADATA_LEVEL_TYPE1   "rmap.metadata.Level.LevelType1"
 
#define REGISTER_METADATA_LEVEL_TYPE2   "rmap.metadata.Level.LevelType2"
 
#define REGISTER_METADATA_TIME_P1   "rmap.metadata.Timerange.P1"
 
#define REGISTER_METADATA_TIME_PIND   "rmap.metadata.Timerange.Pindicator"
 
#define REGISTER_DATA_PUBLISH   "rmap.publish"
 
#define REGISTER_DATA_SERVICE   "rmap.service"
 
#define REGISTER_RMAP_MASTER_ID   "rmap.master.id"
 

Detailed Description

Register class (Uavcan/Other) header file.

Author
Moreno Gasperini m.gas.nosp@m.peri.nosp@m.ni@di.nosp@m.gite.nosp@m.co.it
Attention

© Stimav4 is Copyright (C) 2023 ARPAE-SIMC urpsi.nosp@m.m@ar.nosp@m.pae.i.nosp@m.t

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/licenses/.

Definition in file register_class.hpp.

Macro Definition Documentation

◆ _REGISTER_CLASS_H

#define _REGISTER_CLASS_H

Definition at line 37 of file register_class.hpp.

◆ MEM_UAVCAN_ADDR_END

#define MEM_UAVCAN_ADDR_END   (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * MEM_UAVCAN_MAX_REG))

Definition at line 67 of file register_class.hpp.

◆ MEM_UAVCAN_ADDR_START

#define MEM_UAVCAN_ADDR_START   REGISTER_EEPROM_ADDRESS

Definition at line 45 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_BASE_REG

#define MEM_UAVCAN_GET_ADDR_BASE_REG (   X)    MEM_UAVCAN_GET_ADDR_NAME_LEN(X)

Definition at line 65 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_FLAG

#define MEM_UAVCAN_GET_ADDR_FLAG ( )    (MEM_UAVCAN_ADDR_START)

Definition at line 59 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_FLAG_REG

#define MEM_UAVCAN_GET_ADDR_FLAG_REG (   X)    (MEM_UAVCAN_ADDR_START + X)

Definition at line 60 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_NAME

#define MEM_UAVCAN_GET_ADDR_NAME (   X)    (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_SIZE_T_REG)

Definition at line 62 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_NAME_LEN

#define MEM_UAVCAN_GET_ADDR_NAME_LEN (   X)    (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X))

Definition at line 61 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_VALUE

#define MEM_UAVCAN_GET_ADDR_VALUE (   X)    (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_NAME_REG + MEM_UAVCAN_LEN_SIZE_T_REG)

Definition at line 64 of file register_class.hpp.

◆ MEM_UAVCAN_GET_ADDR_VALUE_LEN

#define MEM_UAVCAN_GET_ADDR_VALUE_LEN (   X)    (MEM_UAVCAN_START_AREA_REG + (MEM_UAVCAN_LEN_REG * X) + MEM_UAVCAN_LEN_NAME_REG)

Definition at line 63 of file register_class.hpp.

◆ MEM_UAVCAN_LEN

#define MEM_UAVCAN_LEN   EEPROMSIZE

Definition at line 44 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_DATA_REG

#define MEM_UAVCAN_LEN_DATA_REG   (MEM_UAVCAN_LEN_SIZE_T_REG + MEM_UAVCAN_LEN_VALUE_REG)

Definition at line 55 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_INTEST_REG

#define MEM_UAVCAN_LEN_INTEST_REG   60u

Definition at line 48 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_NAME_REG

#define MEM_UAVCAN_LEN_NAME_REG   (MEM_UAVCAN_LEN_SIZE_T_REG + MEM_UAVCAN_LEN_INTEST_REG)

Definition at line 54 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_REG

#define MEM_UAVCAN_LEN_REG   (MEM_UAVCAN_LEN_NAME_REG + MEM_UAVCAN_LEN_DATA_REG)

Definition at line 56 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_SIZE_T_REG

#define MEM_UAVCAN_LEN_SIZE_T_REG   1u

Definition at line 47 of file register_class.hpp.

◆ MEM_UAVCAN_LEN_VALUE_REG

#define MEM_UAVCAN_LEN_VALUE_REG   66u

Definition at line 49 of file register_class.hpp.

◆ MEM_UAVCAN_MAX_REG

#define MEM_UAVCAN_MAX_REG   60u

Definition at line 46 of file register_class.hpp.

◆ MEM_UAVCAN_POS_LEN_DATA

#define MEM_UAVCAN_POS_LEN_DATA   MEM_UAVCAN_POS_STR_NAME + MEM_UAVCAN_LEN_INTEST_REG

Definition at line 52 of file register_class.hpp.

◆ MEM_UAVCAN_POS_LEN_NAME

#define MEM_UAVCAN_POS_LEN_NAME   0u

Definition at line 50 of file register_class.hpp.

◆ MEM_UAVCAN_POS_STR_NAME

#define MEM_UAVCAN_POS_STR_NAME   MEM_UAVCAN_POS_LEN_NAME + MEM_UAVCAN_LEN_SIZE_T_REG

Definition at line 51 of file register_class.hpp.

◆ MEM_UAVCAN_POS_VALUE_DATA

#define MEM_UAVCAN_POS_VALUE_DATA   MEM_UAVCAN_POS_LEN_DATA + MEM_UAVCAN_LEN_SIZE_T_REG

Definition at line 53 of file register_class.hpp.

◆ MEM_UAVCAN_REG_UNDEF

#define MEM_UAVCAN_REG_UNDEF   0xFF

Definition at line 58 of file register_class.hpp.

◆ MEM_UAVCAN_START_AREA_REG

#define MEM_UAVCAN_START_AREA_REG   (MEM_UAVCAN_ADDR_START + MEM_UAVCAN_MAX_REG)

Definition at line 57 of file register_class.hpp.

◆ MEM_UAVCAN_USED_TOTAL

#define MEM_UAVCAN_USED_TOTAL   (MEM_UAVCAN_ADDR_END - MEM_UAVCAN_ADDR_START)

Definition at line 68 of file register_class.hpp.

◆ REGISTER_DATA_PUBLISH

#define REGISTER_DATA_PUBLISH   "rmap.publish"

Definition at line 88 of file register_class.hpp.

◆ REGISTER_DATA_SERVICE

#define REGISTER_DATA_SERVICE   "rmap.service"

Definition at line 89 of file register_class.hpp.

◆ REGISTER_METADATA_LEVEL_L1

#define REGISTER_METADATA_LEVEL_L1   "rmap.metadata.Level.L1"

Definition at line 82 of file register_class.hpp.

◆ REGISTER_METADATA_LEVEL_L2

#define REGISTER_METADATA_LEVEL_L2   "rmap.metadata.Level.L2"

Definition at line 83 of file register_class.hpp.

◆ REGISTER_METADATA_LEVEL_TYPE1

#define REGISTER_METADATA_LEVEL_TYPE1   "rmap.metadata.Level.LevelType1"

Definition at line 84 of file register_class.hpp.

◆ REGISTER_METADATA_LEVEL_TYPE2

#define REGISTER_METADATA_LEVEL_TYPE2   "rmap.metadata.Level.LevelType2"

Definition at line 85 of file register_class.hpp.

◆ REGISTER_METADATA_TIME_P1

#define REGISTER_METADATA_TIME_P1   "rmap.metadata.Timerange.P1"

Definition at line 86 of file register_class.hpp.

◆ REGISTER_METADATA_TIME_PIND

#define REGISTER_METADATA_TIME_PIND   "rmap.metadata.Timerange.Pindicator"

Definition at line 87 of file register_class.hpp.

◆ REGISTER_RMAP_MASTER_ID

#define REGISTER_RMAP_MASTER_ID   "rmap.master.id"

Definition at line 90 of file register_class.hpp.

◆ REGISTER_UAVCAN_BITRATE

#define REGISTER_UAVCAN_BITRATE   "uavcan.can.bitrate"

Definition at line 76 of file register_class.hpp.

◆ REGISTER_UAVCAN_DATA_PUBLISH

#define REGISTER_UAVCAN_DATA_PUBLISH   "uavcan.pub.rmap.publish.id"

Definition at line 80 of file register_class.hpp.

◆ REGISTER_UAVCAN_DATA_SERVICE

#define REGISTER_UAVCAN_DATA_SERVICE   "uavcan.srv.rmap.service.id"

Definition at line 81 of file register_class.hpp.

◆ REGISTER_UAVCAN_MTU

#define REGISTER_UAVCAN_MTU   "uavcan.can.mtu"

Definition at line 75 of file register_class.hpp.

◆ REGISTER_UAVCAN_NODE_DESCR

#define REGISTER_UAVCAN_NODE_DESCR   "uavcan.node.description"

Definition at line 79 of file register_class.hpp.

◆ REGISTER_UAVCAN_NODE_ID

#define REGISTER_UAVCAN_NODE_ID   "uavcan.node.id"

Definition at line 77 of file register_class.hpp.

◆ REGISTER_UAVCAN_UNIQUE_ID

#define REGISTER_UAVCAN_UNIQUE_ID   "uavcan.node.unique_id"

Definition at line 78 of file register_class.hpp.