Skip to content
Snippets Groups Projects
Verified Commit e472b22f authored by genofire's avatar genofire
Browse files

ble: card10 svc - beautiful structs

parent 36391430
No related branches found
No related tags found
No related merge requests found
...@@ -236,284 +236,252 @@ static uint16_t initLightSensorLen = sizeof(initLightSensorValue); ...@@ -236,284 +236,252 @@ static uint16_t initLightSensorLen = sizeof(initLightSensorValue);
static const attsAttr_t card10SvcAttrList[] = static const attsAttr_t card10SvcAttrList[] =
{ {
{ {
attPrimSvcUuid, .pUuid = attPrimSvcUuid,
(uint8_t *) UUID_svc, .pValue = (uint8_t *) UUID_svc,
(uint16_t *) &UUID_len, .pLen = (uint16_t *) &UUID_len,
sizeof(UUID_svc), .maxLen = sizeof(UUID_svc),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
// TIME UPDTAE // TIME
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_time, .pValue = (uint8_t *) UUID_char_time,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_time), .maxLen = sizeof(UUID_char_time),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_time, .pUuid = UUID_attChar_time,
NULL, .pValue = NULL,
0, .maxLen = sizeof(uint64_t),
sizeof(uint64_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// VIBRA // VIBRA
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_vibra, .pValue = (uint8_t *) UUID_char_vibra,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_vibra), .maxLen = sizeof(UUID_char_vibra),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_vibra, .pUuid = UUID_attChar_vibra,
NULL, .pValue = NULL,
0, .maxLen = sizeof(uint16_t),
sizeof(uint16_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// ROCKETS // ROCKETS
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_rockets, .pValue = (uint8_t *) UUID_char_rockets,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_rockets), .maxLen = sizeof(UUID_char_rockets),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_rockets, .pUuid = UUID_attChar_rockets,
NULL, .pValue = NULL,
0, .maxLen = 3 * sizeof(uint8_t),
3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// BG LED Bottom left // BG LED Bottom left
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_led_bg_bottom_left, .pValue = (uint8_t *) UUID_char_led_bg_bottom_left,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_led_bg_bottom_left), .maxLen = sizeof(UUID_char_led_bg_bottom_left),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_led_bg_bottom_left, .pUuid = UUID_attChar_led_bg_bottom_left,
NULL, .pValue = NULL,
0, .maxLen = 3 * sizeof(uint8_t),
3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// BG LED Bottom right // BG LED Bottom right
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_led_bg_bottom_right, .pValue = (uint8_t *) UUID_char_led_bg_bottom_right,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_led_bg_bottom_right), .maxLen = sizeof(UUID_char_led_bg_bottom_right),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_led_bg_bottom_right, .pUuid = UUID_attChar_led_bg_bottom_right,
NULL, .pValue = NULL,
0, .maxLen = 3 * sizeof(uint8_t),
3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// BG LED top right // BG LED top right
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_led_bg_top_right, .pValue = (uint8_t *) UUID_char_led_bg_top_right,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_led_bg_top_right), .maxLen = sizeof(UUID_char_led_bg_top_right),
0, .settings = 0,
ATTS_PERMIT_READ .permissions = ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_led_bg_top_right, .pUuid = UUID_attChar_led_bg_top_right,
NULL, .pValue = NULL,
0, .maxLen = 3 * sizeof(uint8_t),
3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// BG LED top left // BG LED top left
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_led_bg_top_left, .pValue = (uint8_t *) UUID_char_led_bg_top_left,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_led_bg_top_left), .maxLen = sizeof(UUID_char_led_bg_top_left),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_led_bg_top_left, .pUuid = UUID_attChar_led_bg_top_left,
NULL, .pValue = NULL,
0, .maxLen = 3 * sizeof(uint8_t),
3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// Dim bottom module // Dim bottom module
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_leds_bottom_dim, .pValue = (uint8_t *) UUID_char_leds_bottom_dim,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_leds_bottom_dim), .maxLen = sizeof(UUID_char_leds_bottom_dim),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_leds_bottom_dim, .pUuid = UUID_attChar_leds_bottom_dim,
NULL, .pValue = NULL,
0, .pLen = 0,
sizeof(uint8_t), .maxLen = sizeof(uint8_t),
ATTS_SET_WRITE_CBACK, .settings = ATTS_SET_WRITE_CBACK,
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC | .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// Dim top module // Dim top module
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_leds_top_dim, .pValue = (uint8_t *) UUID_char_leds_top_dim,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_leds_top_dim), .maxLen = sizeof(UUID_char_leds_top_dim),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_leds_top_dim, .pUuid = UUID_attChar_leds_top_dim,
NULL, .pValue = NULL,
0, .maxLen = sizeof(uint8_t),
sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// led powersafe // led powersafe
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_led_powersafe, .pValue = (uint8_t *) UUID_char_led_powersafe,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_led_powersafe), .maxLen = sizeof(UUID_char_led_powersafe),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_led_powersafe, .pUuid = UUID_attChar_led_powersafe,
NULL, .pValue = NULL,
0, .maxLen = sizeof(uint8_t),
sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// flashlight // flashlight
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_flashlight, .pValue = (uint8_t *) UUID_char_flashlight,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_flashlight), .maxLen = sizeof(UUID_char_flashlight),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_flashlight, .pUuid = UUID_attChar_flashlight,
NULL, .pValue = NULL,
0, .maxLen = sizeof(uint8_t),
sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// ABOVE LEDS // ABOVE LEDS
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_leds_above, .pValue = (uint8_t *) UUID_char_leds_above,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_leds_above), .maxLen = sizeof(UUID_char_leds_above),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_leds_above, .pUuid = UUID_attChar_leds_above,
NULL, .pValue = NULL,
0, .maxLen = 11 * 3 * sizeof(uint8_t),
11 * 3 * sizeof(uint8_t), .settings = ATTS_SET_WRITE_CBACK,
ATTS_SET_WRITE_CBACK, .permissions = (ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
(ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH) ATTS_PERMIT_WRITE_AUTH)
}, },
// ABOVE LEDS // ABOVE LEDS
{ {
attChUuid, .pUuid = attChUuid,
(uint8_t *) UUID_char_light_sensor, .pValue = (uint8_t *) UUID_char_light_sensor,
(uint16_t *) &UUID_char_len, .pLen = (uint16_t *) &UUID_char_len,
sizeof(UUID_char_light_sensor), .maxLen = sizeof(UUID_char_light_sensor),
0, .permissions = ATTS_PERMIT_READ
ATTS_PERMIT_READ
}, },
{ {
UUID_attChar_light_sensor, .pUuid = UUID_attChar_light_sensor,
initLightSensorValue, .pValue = initLightSensorValue,
&initLightSensorLen, .pLen = &initLightSensorLen,
sizeof(uint8_t), .maxLen = sizeof(uint8_t),
ATTS_SET_READ_CBACK, .settings = ATTS_SET_READ_CBACK,
(ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | .permissions = (ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH) ATTS_PERMIT_READ_AUTH)
}, },
}; };
/* clang-format on */ /* 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 // validating, that the service really get all charateristics
WSF_CT_ASSERT( WSF_CT_ASSERT(
...@@ -689,13 +657,20 @@ static uint8_t readCard10CB( ...@@ -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. * This registers and starts the BLE card10 service.
*/ */
void bleCard10_init(void) void bleCard10_init(void)
{ {
svcCard10Group.readCback = readCard10CB;
svcCard10Group.writeCback = writeCard10CB;
AttsAddGroup(&svcCard10Group); AttsAddGroup(&svcCard10Group);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment