From e472b22ff30d72f029782925d56939df03879c22 Mon Sep 17 00:00:00 2001 From: Martin/Geno <geno+dev@fireorbit.de> Date: Thu, 22 Aug 2019 15:02:51 +0200 Subject: [PATCH] ble: card10 svc - beautiful structs --- epicardium/ble/card10.c | 321 ++++++++++++++++++---------------------- 1 file changed, 148 insertions(+), 173 deletions(-) diff --git a/epicardium/ble/card10.c b/epicardium/ble/card10.c index 9473545f..9fe7364b 100644 --- a/epicardium/ble/card10.c +++ b/epicardium/ble/card10.c @@ -236,284 +236,252 @@ static uint16_t initLightSensorLen = sizeof(initLightSensorValue); static const attsAttr_t card10SvcAttrList[] = { { - attPrimSvcUuid, - (uint8_t *) UUID_svc, - (uint16_t *) &UUID_len, - sizeof(UUID_svc), - 0, - ATTS_PERMIT_READ + .pUuid = attPrimSvcUuid, + .pValue = (uint8_t *) UUID_svc, + .pLen = (uint16_t *) &UUID_len, + .maxLen = sizeof(UUID_svc), + .permissions = ATTS_PERMIT_READ }, - // TIME UPDTAE + // TIME { - attChUuid, - (uint8_t *) UUID_char_time, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_time), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_time, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_time), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_time, - NULL, - 0, - sizeof(uint64_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_time, + .pValue = NULL, + .maxLen = sizeof(uint64_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // VIBRA { - attChUuid, - (uint8_t *) UUID_char_vibra, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_vibra), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_vibra, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_vibra), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_vibra, - NULL, - 0, - sizeof(uint16_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_vibra, + .pValue = NULL, + .maxLen = sizeof(uint16_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // ROCKETS { - attChUuid, - (uint8_t *) UUID_char_rockets, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_rockets), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_rockets, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_rockets), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_rockets, - NULL, - 0, - 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_rockets, + .pValue = NULL, + .maxLen = 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // BG LED Bottom left { - attChUuid, - (uint8_t *) UUID_char_led_bg_bottom_left, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_led_bg_bottom_left), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_led_bg_bottom_left, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_led_bg_bottom_left), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_led_bg_bottom_left, - NULL, - 0, - 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_led_bg_bottom_left, + .pValue = NULL, + .maxLen = 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // BG LED Bottom right { - attChUuid, - (uint8_t *) UUID_char_led_bg_bottom_right, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_led_bg_bottom_right), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_led_bg_bottom_right, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_led_bg_bottom_right), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_led_bg_bottom_right, - NULL, - 0, - 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_led_bg_bottom_right, + .pValue = NULL, + .maxLen = 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // BG LED top right { - attChUuid, - (uint8_t *) UUID_char_led_bg_top_right, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_led_bg_top_right), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_led_bg_top_right, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_led_bg_top_right), + .settings = 0, + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_led_bg_top_right, - NULL, - 0, - 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_led_bg_top_right, + .pValue = NULL, + .maxLen = 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // BG LED top left { - attChUuid, - (uint8_t *) UUID_char_led_bg_top_left, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_led_bg_top_left), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_led_bg_top_left, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_led_bg_top_left), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_led_bg_top_left, - NULL, - 0, - 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_led_bg_top_left, + .pValue = NULL, + .maxLen = 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // Dim bottom module { - attChUuid, - (uint8_t *) UUID_char_leds_bottom_dim, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_leds_bottom_dim), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_leds_bottom_dim, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_leds_bottom_dim), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_leds_bottom_dim, - NULL, - 0, - sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_leds_bottom_dim, + .pValue = NULL, + .pLen = 0, + .maxLen = sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // Dim top module { - attChUuid, - (uint8_t *) UUID_char_leds_top_dim, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_leds_top_dim), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_leds_top_dim, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_leds_top_dim), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_leds_top_dim, - NULL, - 0, - sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_leds_top_dim, + .pValue = NULL, + .maxLen = sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // led powersafe { - attChUuid, - (uint8_t *) UUID_char_led_powersafe, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_led_powersafe), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_led_powersafe, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_led_powersafe), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_led_powersafe, - NULL, - 0, - sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_led_powersafe, + .pValue = NULL, + .maxLen = sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // flashlight { - attChUuid, - (uint8_t *) UUID_char_flashlight, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_flashlight), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_flashlight, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_flashlight), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_flashlight, - NULL, - 0, - sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_flashlight, + .pValue = NULL, + .maxLen = sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // ABOVE LEDS { - attChUuid, - (uint8_t *) UUID_char_leds_above, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_leds_above), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_leds_above, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_leds_above), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_leds_above, - NULL, - 0, - 11 * 3 * sizeof(uint8_t), - ATTS_SET_WRITE_CBACK, - (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | + .pUuid = UUID_attChar_leds_above, + .pValue = NULL, + .maxLen = 11 * 3 * sizeof(uint8_t), + .settings = ATTS_SET_WRITE_CBACK, + .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | ATTS_PERMIT_WRITE_AUTH) }, // ABOVE LEDS { - attChUuid, - (uint8_t *) UUID_char_light_sensor, - (uint16_t *) &UUID_char_len, - sizeof(UUID_char_light_sensor), - 0, - ATTS_PERMIT_READ + .pUuid = attChUuid, + .pValue = (uint8_t *) UUID_char_light_sensor, + .pLen = (uint16_t *) &UUID_char_len, + .maxLen = sizeof(UUID_char_light_sensor), + .permissions = ATTS_PERMIT_READ }, { - UUID_attChar_light_sensor, - initLightSensorValue, - &initLightSensorLen, - sizeof(uint8_t), - ATTS_SET_READ_CBACK, - (ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | + .pUuid = UUID_attChar_light_sensor, + .pValue = initLightSensorValue, + .pLen = &initLightSensorLen, + .maxLen = sizeof(uint8_t), + .settings = ATTS_SET_READ_CBACK, + .permissions = (ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | ATTS_PERMIT_READ_AUTH) }, }; /* clang-format on */ -static attsGroup_t svcCard10Group = { - NULL, - (attsAttr_t *)card10SvcAttrList, - NULL, - NULL, - CARD10_START_HDL, - CARD10_END_HDL, -}; // validating, that the service really get all charateristics WSF_CT_ASSERT( @@ -689,13 +657,20 @@ static uint8_t readCard10CB( } } +static attsGroup_t svcCard10Group = { + .pNext = NULL, + .pAttr = (attsAttr_t *)card10SvcAttrList, + .readCback = readCard10CB, + .writeCback = writeCard10CB, + .startHandle = CARD10_START_HDL, + .endHandle = CARD10_END_HDL, +}; + /* * This registers and starts the BLE card10 service. */ void bleCard10_init(void) { - svcCard10Group.readCback = readCard10CB; - svcCard10Group.writeCback = writeCard10CB; AttsAddGroup(&svcCard10Group); } -- GitLab