aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-26 14:54:46 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-10-26 14:54:46 +0200
commit60b7dee587fe3d8449c22bffd3c590c27aa735d5 (patch)
tree37b34f39be757719bd2677803007452d2f5eae0d /Software/Embedded_SW/Embedded/Modules
parent190f89fb350e17eece2fccf5662c04522825d1b3 (diff)
downloadTango-60b7dee587fe3d8449c22bffd3c590c27aa735d5.tar.gz
Tango-60b7dee587fe3d8449c22bffd3c590c27aa735d5.zip
add percentage to CartridgeStateUpdate()
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c64
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h2
2 files changed, 34 insertions, 32 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index d5816ab42..147015f98 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -239,7 +239,7 @@ return OK;
* */
char WasteEmptyingToken[36+1] = {0};
-uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State)
+uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State, double percentage)
{
if (WasteEmptyingToken[0] == 0)
return ERROR;
@@ -248,44 +248,46 @@ uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State)
CartridgeStatus CartridgeStatus = CARTRIDGE_STATUS__INIT;
Cartridge CartData = CARTRIDGE__INIT;
StartInkFillingStatusResponse response = START_INK_FILLING_STATUS_RESPONSE__INIT;
- response.status->n_cartridgesstatuses = MAX_CARTRIDGES;
+ response.status->n_cartridgesstatuses = 1;
response.status->cartridgesstatuses[0] = &CartridgeStatus;
CartridgeStatus.has_state = true;
CartridgeStatus.state = State;
CartridgeStatus.cartridge = &CartData;
+ if (percentage>1)
+ {
+ CartridgeStatus.has_progresspercentage = true;
+ CartridgeStatus.progresspercentage = percentage
+ }
CartData.has_slot = true;
CartData.slot = Slot;
-
-
-
/*
-struct _CartridgeStatus
-{
- ProtobufCMessage base;
- Cartridge *cartridge;
- protobuf_c_boolean has_state;
- CartridgeState state;
- protobuf_c_boolean has_progresspercentage;
- double progresspercentage;
- char *message;
-};
- size_t n_cartridgesstatuses;
- CartridgeStatus **cartridgesstatuses;
-typedef enum _CartridgeState {
- CARTRIDGE_STATE__None = 0,
- CARTRIDGE_STATE__Absent = 1,
- CARTRIDGE_STATE__Exists = 2,
- CARTRIDGE_STATE__Inserted = 3,
- CARTRIDGE_STATE__Filling = 4,
- CARTRIDGE_STATE__FillingCompleted = 5,
- CARTRIDGE_STATE__Emptying = 6,
- CARTRIDGE_STATE__EmptyingCompleted = 7,
- CARTRIDGE_STATE__Empty = 8,
- CARTRIDGE_STATE__Full = 9,
- CARTRIDGE_STATE__Error = 10
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CARTRIDGE_STATE)
-} CartridgeState;
+ struct _CartridgeStatus
+ {
+ ProtobufCMessage base;
+ Cartridge *cartridge;
+ protobuf_c_boolean has_state;
+ CartridgeState state;
+ protobuf_c_boolean has_progresspercentage;
+ double progresspercentage;
+ char *message;
+ };
+ size_t n_cartridgesstatuses;
+ CartridgeStatus **cartridgesstatuses;
+ typedef enum _CartridgeState {
+ CARTRIDGE_STATE__None = 0,
+ CARTRIDGE_STATE__Absent = 1,
+ CARTRIDGE_STATE__Exists = 2,
+ CARTRIDGE_STATE__Inserted = 3,
+ CARTRIDGE_STATE__Filling = 4,
+ CARTRIDGE_STATE__FillingCompleted = 5,
+ CARTRIDGE_STATE__Emptying = 6,
+ CARTRIDGE_STATE__EmptyingCompleted = 7,
+ CARTRIDGE_STATE__Empty = 8,
+ CARTRIDGE_STATE__Full = 9,
+ CARTRIDGE_STATE__Error = 10
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CARTRIDGE_STATE)
+ } CartridgeState;
*/
responseContainer = createContainer(MESSAGE_TYPE__StartInkFillingStatusResponse, WasteEmptyingToken, false, &response, &start_ink_filling_status_response__pack, &start_ink_filling_status_response__get_packed_size);
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
index b421785cc..b3b773b1e 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h
@@ -18,7 +18,7 @@ void SetMachineStatus (MachineState State);
int MachineUpdateResponseFunc(void);
uint32_t StartInkFillingStatusRequestFunc(MessageContainer* requestContainer);
-uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State);
+uint32_t CartridgeStateUpdate(CartridgeSlot Slot,CartridgeState State, double percentage);