Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update error messages for temperature and amo #107

Open
wants to merge 1 commit into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

cmake_minimum_required(VERSION 3.12)

project(icub_firmware_shared VERSION 1.41.2)
project(icub_firmware_shared VERSION 1.41.3)

find_package(YCM 0.11.0 REQUIRED)

Expand Down
7 changes: 5 additions & 2 deletions eth/embobj/plus/comm-v2/icub/EoError.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,9 @@ const eoerror_valuestring_t eoerror_valuestrings_HW[] =
{eoerror_value_HW_encoder_invalid_value, "HW - encoder: the position data is not valid", ""},
{eoerror_value_HW_encoder_close_to_limits, "HW - encoder: the position data is valid, but some operating conditions are close to limits.", ""},
{eoerror_value_HW_encoder_crc, "HW - encoder: inverted CRC is invalid", ""},
{eoerror_value_HW_encoder_not_connected, "HW - encoder: not connected"}
{eoerror_value_HW_encoder_not_connected, "HW - encoder: not connected"},
{eoerror_value_HW_amo_encoder_status0, "HW - amo encoder status0 error: poor-level or clipping in the signal of master and/or nonius track.", "In par64 counts for the number of errors in 10 seconds (lower: LS 32bits nonius_max|nonius_min, upper: MS 32bits master_max|master_min)"},
{eoerror_value_HW_amo_encoder_status1, "HW - amo encoder status1 error: errors on reading on master and/or nonius track.", "In par64 counts for the number of errors in 10 seconds masked as: crc error 0xffff000000000000, i2c comm error 0x0000ffff00000000, nonius track period consistency error 0x00000000ffff0000, eccessive input signal frequency for converters error 0x000000000000ffff "}
}; EO_VERIFYsizeof(eoerror_valuestrings_HW, eoerror_value_HW_numberof*sizeof(const eoerror_valuestring_t))


Expand All @@ -204,7 +206,8 @@ const eoerror_valuestring_t eoerror_valuestrings_MC[] =
{eoerror_value_MC_motor_wrong_state, "MC: 2FOC wrong state. The 2FOC motor controller is in a control state different from required by the EMS.", "In par64 0xF0 is the mask of requested state, 0x0F is the mask of actual state. par16 = ID of joint."},
{eoerror_value_MC_joint_hard_limit, "MC: hard limit reached. The joint position is outside its hardware boundaries.", "In par16 = ID of joint."},
{eoerror_value_MC_motor_qencoder_phase_disappeared, "MC: qenc error has disappeared, warning counter has been reset.", ""},
{eoerror_value_MC_motor_overheating, "MC: overheating. Temperature hardware limit exceeded. The motor has been turned off to prevent it from being damaged by overheating.", "In par16 = ID of the joint. In par64 0xFFFF is the mask of the raw tmperature feedback."}
{eoerror_value_MC_motor_overheating, "MC: overheating. Temperature hardware limit exceeded. The motor has been turned off to prevent it from being damaged by overheating.", "In par16 = ID of the joint. In par64 0xFFFF is the mask of the raw tmperature feedback."},
{eoerror_value_MC_motor_tdb_not_reading, "MC: TDB cannot receive any data on I2C channel. Motor temperature detection board is not receiving any data on the i2C channel.", "In par16 = ID of the joint."}

}; EO_VERIFYsizeof(eoerror_valuestrings_MC, eoerror_value_MC_numberof*sizeof(const eoerror_valuestring_t))

Expand Down
11 changes: 7 additions & 4 deletions eth/embobj/plus/comm-v2/icub/EoError.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,12 @@ typedef enum
eoerror_value_HW_encoder_invalid_value = 3,
eoerror_value_HW_encoder_close_to_limits = 4,
eoerror_value_HW_encoder_crc = 5,
eoerror_value_HW_encoder_not_connected = 6
eoerror_value_HW_encoder_not_connected = 6,
eoerror_value_HW_amo_encoder_status0 = 7,
eoerror_value_HW_amo_encoder_status1 = 8
} eOerror_value_HW_t;

enum { eoerror_value_HW_numberof = 7 };
enum { eoerror_value_HW_numberof = 9 };



Expand Down Expand Up @@ -234,10 +236,11 @@ typedef enum
eoerror_value_MC_joint_hard_limit = 16,
eoerror_value_MC_motor_qencoder_phase_disappeared = 17,

eoerror_value_MC_motor_overheating = 18
eoerror_value_MC_motor_overheating = 18,
eoerror_value_MC_motor_tdb_not_reading = 19
} eOerror_value_MC_t;

enum { eoerror_value_MC_numberof = 19 };
enum { eoerror_value_MC_numberof = 20 };



Expand Down
2 changes: 1 addition & 1 deletion eth/embobj/plus/comm-v2/icub/EoMotionControl.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ typedef union
unsigned CAN_IsWarnTX :1;
unsigned CAN_IsWarnRX :1;
unsigned OverHeatingFailure :1;
unsigned unused :1;
unsigned I2C_CommFailure :1;
//B2 L
unsigned ADCCalFailure :1;
unsigned I2TFailure :1;
Expand Down