diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-10-26 14:54:46 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-10-26 14:54:46 +0200 |
| commit | 60b7dee587fe3d8449c22bffd3c590c27aa735d5 (patch) | |
| tree | 37b34f39be757719bd2677803007452d2f5eae0d /Software/Embedded_SW/Embedded/Modules | |
| parent | 190f89fb350e17eece2fccf5662c04522825d1b3 (diff) | |
| download | Tango-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.c | 64 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/General/MachineStatus.h | 2 |
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); |
