From b3eaad66d037b10c63d526931a377b6fc483e180 Mon Sep 17 00:00:00 2001 From: giomba Date: Fri, 12 Apr 2019 16:10:52 +0200 Subject: [PATCH 1/3] [repo] added a gitignore --- project/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 project/.gitignore diff --git a/project/.gitignore b/project/.gitignore new file mode 100644 index 000000000..1377554eb --- /dev/null +++ b/project/.gitignore @@ -0,0 +1 @@ +*.swp From b38dccc3256b8e002a9782fead93ba0ad6f2c823 Mon Sep 17 00:00:00 2001 From: giomba Date: Fri, 12 Apr 2019 16:30:05 +0200 Subject: [PATCH 2/3] [cart] not working --- project/Giomba/cart.c | 7 ++++--- project/Giomba/event.h | 3 ++- project/Giomba/sendrecv.c | 4 ++++ project/Giomba/status.c | 20 ++++++++++++++++++++ project/Giomba/status.h | 1 + project/common/supermarket_net.h | 29 ++++++++++++++++++++++++++++- 6 files changed, 59 insertions(+), 5 deletions(-) diff --git a/project/Giomba/cart.c b/project/Giomba/cart.c index ac026592a..29bf94fdd 100644 --- a/project/Giomba/cart.c +++ b/project/Giomba/cart.c @@ -21,9 +21,8 @@ PROCESS_THREAD(cart_main_process, ev, data) { // SENSORS_ACTIVATE(batmon_sensor); /*** Variables initialization ***/ - status = NOT_ASSOCIATED; - etimer_set(&broadcast_timer, 10 * CLOCK_SECOND); + etimer_set(&broadcast_timer, 5 * CLOCK_SECOND); /*** Subsystem initialization ***/ net_init(); @@ -39,7 +38,9 @@ PROCESS_THREAD(cart_main_process, ev, data) { s_not_associated(ev, data); break; break; - case ASSOCIATED: break; + case ASSOCIATED: + s_associated(ev, data); + break; case SHOPPING: break; case CASHOUT: break; default: status = NOT_ASSOCIATED; break; diff --git a/project/Giomba/event.h b/project/Giomba/event.h index f938ff1ab..803a3e5e0 100644 --- a/project/Giomba/event.h +++ b/project/Giomba/event.h @@ -2,7 +2,8 @@ #define EVENT_H enum CartEvent { - CART_EVENT_ASSOCIATED + CART_EVENT_ASSOCIATED, + CART_EVENT_ASSIGNED } event; #endif diff --git a/project/Giomba/sendrecv.c b/project/Giomba/sendrecv.c index 2abb49459..dc76a2b5a 100644 --- a/project/Giomba/sendrecv.c +++ b/project/Giomba/sendrecv.c @@ -29,6 +29,10 @@ void net_recv(const void* data, uint16_t len, const linkaddr_t* src, const linka event = CART_EVENT_ASSOCIATED; process_post(&cart_main_process, PROCESS_EVENT_MSG, NULL); break; + case ASSIGNMENT_MSG: + event = CART_EVENT_ASSIGNED; + process_post(&cart_main_process, PROCESS_EVENT_MSG, NULL); + break; default: LOG_INFO("[W] message type unknown\n"); break; diff --git a/project/Giomba/status.c b/project/Giomba/status.c index 530265f87..645cf5f81 100644 --- a/project/Giomba/status.c +++ b/project/Giomba/status.c @@ -3,6 +3,7 @@ enum CartStatus status; struct etimer broadcast_timer; linkaddr_t assigner_address; +uint32_t customer_id; void s_not_associated(process_event_t ev, process_data_t data) { if (ev == PROCESS_EVENT_TIMER) { @@ -23,4 +24,23 @@ void s_not_associated(process_event_t ev, process_data_t data) { } } +void s_associated(process_event_t ev, process_data_t data) { + if (ev == PROCESS_EVENT_TIMER) { + /* now send battery level */ + printf("[I] Sending battery level\n"); + struct MsgBatteryStatus msg; + msg.type = BATTERY_STATUS_MSG; + msg.battery_percentage = 77; + net_send(&msg, sizeof(msg), &assigner_address); + etimer_reset(&broadcast_timer); + } + if (ev == PROCESS_EVENT_MSG && *((enum CartEvent*)data) == CART_EVENT_ASSIGNED) { + /* cart has been assigned to a new customer */ + printf("[I] Assigned to customer\n"); + customer_id = ((MsgAssignment*)pkt.data)->customer_id; + status = SHOPPING; + } + +} + diff --git a/project/Giomba/status.h b/project/Giomba/status.h index 7a4c8c1f4..b8c55af01 100644 --- a/project/Giomba/status.h +++ b/project/Giomba/status.h @@ -20,5 +20,6 @@ extern enum CartStatus status; extern struct etimer broadcast_timer; void s_not_associated(process_event_t ev, process_data_t data); +void s_associated(process_event_t ev, process_data_t data); #endif diff --git a/project/common/supermarket_net.h b/project/common/supermarket_net.h index 7a84eaa07..0a954bdd0 100644 --- a/project/common/supermarket_net.h +++ b/project/common/supermarket_net.h @@ -13,7 +13,34 @@ enum MsgType { struct Msg { enum MsgType type; - int test; + uint8_t test; +}; + +struct MsgBatteryStatus { + enum MsgType type; + uint8_t battery_percentage; +}; + +struct MsgAssignment { + enum MsgType type; + uint32_t customer_id; +}; + +struct MsgProduct { + enum MsgType type; + uint32_t product_id; + float price; +}; + +struct MsgCashOut { + enum MsgType type; + uint32_t customer_id; +}; + +struct MsgItemElem { + enum MsgType type; + float price; + bool last; }; #endif From 1d0f6521ea7224cb2e2e66134613a44f59c3122c Mon Sep 17 00:00:00 2001 From: Daniela Date: Fri, 12 Apr 2019 16:47:44 +0200 Subject: [PATCH 3/3] Fixed struct name --- project/common/supermarket_net.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/common/supermarket_net.h b/project/common/supermarket_net.h index 66606fd25..3ec419d6c 100644 --- a/project/common/supermarket_net.h +++ b/project/common/supermarket_net.h @@ -43,7 +43,7 @@ typedef struct assign_msg { enum message_type msg_type; uint32_t customer_id; -}assing_msg; +}assign_msg; typedef struct basket_msg