X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/c101217defaaa9b085875961712973834a397f29..fcb2ff43a40299234d4bd454bee38b5b9754d2c0:/hmuartlgw.h diff --git a/hmuartlgw.h b/hmuartlgw.h index 09b2993..388d01e 100644 --- a/hmuartlgw.h +++ b/hmuartlgw.h @@ -1,6 +1,6 @@ /* HM-MOD-UART/HM-LGW-O-TW-W-EU driver * - * Copyright (c) 2016 Michael Gernoth + * Copyright (c) 2016-17 Michael Gernoth * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -25,6 +25,7 @@ #define HMUARTLGW_OS_GET_FIRMWARE 0x02 #define HMUARTLGW_OS_CHANGE_APP 0x03 #define HMUARTLGW_OS_ACK 0x04 +#define HMUARTLGW_OS_UPDATE_FIRMWARE 0x05 #define HMUARTLGW_OS_UNSOL_CREDITS 0x05 #define HMUARTLGW_OS_NORMAL_MODE 0x06 #define HMUARTLGW_OS_UPDATE_MODE 0x07 @@ -46,11 +47,16 @@ #define HMUARTLGW_APP_SET_OLD_KEY 0x0F /* key index */ #define HMUARTLGW_APP_DEFAULT_HMID 0x10 +#define HMUARTLGW_DUAL_GET_APP 0x01 +#define HMUARTLGW_DUAL_CHANGE_APP 0x02 + #define HMUARTLGW_ACK_EINPROGRESS 0x08 enum hmuartlgw_dst { HMUARTLGW_OS = 0, HMUARTLGW_APP = 1, + HMUARTLGW_DUAL = 0xfe, + HMUARTLGW_DUAL_ERR = 0xff, }; typedef int (*hmuartlgw_cb_fn)(enum hmuartlgw_dst dst, uint8_t *buf, int buf_len, void *data); @@ -65,7 +71,7 @@ struct hmuartlgw_dev { int unescape_next; }; -struct hmuartlgw_dev *hmuart_init(char *device, hmuartlgw_cb_fn cb, void *data); +struct hmuartlgw_dev *hmuart_init(char *device, hmuartlgw_cb_fn cb, void *data, int app); struct hmuartlgw_dev *hmlgw_init(char *device, hmuartlgw_cb_fn cb, void *data); int hmuartlgw_send_raw(struct hmuartlgw_dev *dev, uint8_t *frame, int framelen); int hmuartlgw_send(struct hmuartlgw_dev *dev, uint8_t *cmd, int cmdlen, enum hmuartlgw_dst dst);