Verified Commit 3dd3f635 authored by genofire's avatar genofire
Browse files

ble: card10 svc - add lcd brightness

parent c7b7bc84
...@@ -80,6 +80,11 @@ The current draft uses following service specification: ...@@ -80,6 +80,11 @@ The current draft uses following service specification:
UUID: ``42230220-2342-2342-2342-234223422342`` UUID: ``42230220-2342-2342-2342-234223422342``
write no reponse write no reponse
- LCD brightness characteristic:
UUID: ``42230221-2342-2342-2342-234223422342``
write no reponse
- Light sensor characteristic: - Light sensor characteristic:
UUID: ``422302f0-2342-2342-2342-234223422342`` UUID: ``422302f0-2342-2342-2342-234223422342``
...@@ -175,6 +180,13 @@ By defining 11x rgb from left to right. You need also to set exchange a bigger M ...@@ -175,6 +180,13 @@ By defining 11x rgb from left to right. You need also to set exchange a bigger M
- set a rainbow beginnig with red on the right edge: ``0xff0000ff8b00e8ff005dff0000ff2e00ffb900b9ff002eff5d00ffe800ffff008b`` - set a rainbow beginnig with red on the right edge: ``0xff0000ff8b00e8ff005dff0000ff2e00ffb900b9ff002eff5d00ffe800ffff008b``
LCD brightness characteristic
---------------------------------
This charatieristic set the brightness of the lcd backlight 0-100 in ``uint16``.
- set to 100 % ``0x6400``
- set to 20 % ``0x1400`` (default value)
Light sensor characteristic Light sensor characteristic
--------------------------------- ---------------------------------
......
...@@ -65,6 +65,9 @@ enum { ...@@ -65,6 +65,9 @@ enum {
/*!< \brief leds above characteristic */ /*!< \brief leds above characteristic */
CARD10_LEDS_ABOVE_CH_HDL, CARD10_LEDS_ABOVE_CH_HDL,
CARD10_LEDS_ABOVE_VAL_HDL, CARD10_LEDS_ABOVE_VAL_HDL,
/*!< \brief lcd birhtness characteristic */
CARD10_LCD_BRIGHTNESS_CH_HDL,
CARD10_LCD_BRIGHTNESS_VAL_HDL,
/*!< \brief light sensor characteristic */ /*!< \brief light sensor characteristic */
CARD10_LIGHT_SENSOR_CH_HDL, CARD10_LIGHT_SENSOR_CH_HDL,
CARD10_LIGHT_SENSOR_VAL_HDL, CARD10_LIGHT_SENSOR_VAL_HDL,
...@@ -235,6 +238,17 @@ static const uint8_t UUID_char_leds_above[] = { ...@@ -235,6 +238,17 @@ static const uint8_t UUID_char_leds_above[] = {
static const uint8_t UUID_attChar_leds_above[] = { static const uint8_t UUID_attChar_leds_above[] = {
CARD10_UUID_SUFFIX, 0x20, CARD10_UUID_PREFIX CARD10_UUID_SUFFIX, 0x20, CARD10_UUID_PREFIX
}; };
/* BLE UUID for card10 set lcd brightness */
static const uint8_t UUID_char_lcd_brightness[] = {
ATT_PROP_WRITE_NO_RSP,
UINT16_TO_BYTES(CARD10_LCD_BRIGHTNESS_VAL_HDL),
CARD10_UUID_SUFFIX, 0x21, CARD10_UUID_PREFIX
};
static const uint8_t UUID_attChar_lcd_brightness[] = {
CARD10_UUID_SUFFIX, 0x21, CARD10_UUID_PREFIX
};
// starting at 0xf0 with read only characteristics // starting at 0xf0 with read only characteristics
/* BLE UUID for card10 char light sensor */ /* BLE UUID for card10 char light sensor */
...@@ -504,6 +518,24 @@ static const attsAttr_t card10SvcAttrList[] = { ...@@ -504,6 +518,24 @@ static const attsAttr_t card10SvcAttrList[] = {
ATTS_PERMIT_WRITE_AUTH, ATTS_PERMIT_WRITE_AUTH,
}, },
// LCD Brightness
{
.pUuid = attChUuid,
.pValue = (uint8_t *)UUID_char_lcd_brightness,
.pLen = (uint16_t *)&UUID_char_len,
.maxLen = sizeof(UUID_char_lcd_brightness),
.permissions = ATTS_PERMIT_READ,
},
{
.pUuid = UUID_attChar_lcd_brightness,
.pValue = NULL,
.maxLen = sizeof(uint16_t),
.settings = ATTS_SET_WRITE_CBACK,
.permissions = ATTS_PERMIT_WRITE | ATTS_PERMIT_WRITE_ENC |
ATTS_PERMIT_WRITE_AUTH,
},
// Light sensor // Light sensor
{ {
...@@ -559,6 +591,7 @@ static uint8_t writeCard10CB( ...@@ -559,6 +591,7 @@ static uint8_t writeCard10CB(
) { ) {
uint16_t ui16 = 0; uint16_t ui16 = 0;
uint8_t ui8 = 0; uint8_t ui8 = 0;
int intVar = 0;
switch (handle) { switch (handle) {
// time // time
...@@ -748,6 +781,16 @@ static uint8_t writeCard10CB( ...@@ -748,6 +781,16 @@ static uint8_t writeCard10CB(
pValue[ui16 * 3 + 2] pValue[ui16 * 3 + 2]
); );
} }
return ATT_SUCCESS;
case CARD10_LCD_BRIGHTNESS_VAL_HDL:
BYTES_TO_UINT16(ui16, pValue);
intVar = epic_disp_backlight(ui16);
APP_TRACE_INFO2(
"ble-card10: set lcd brightness to %ld - %d\n",
ui16,
intVar
);
return ATT_SUCCESS;
default: default:
APP_TRACE_INFO1( APP_TRACE_INFO1(
"ble-card10: unsupported characteristic: %c\n", handle "ble-card10: unsupported characteristic: %c\n", handle
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment