#ifndef BLE_DMX_SERVICE_H__
#define BLE_DMX_SERVICE_H__

#include <stdint.h>
#include <stdbool.h>
#include "ble.h"
#include "ble_srv_common.h"


#define DMX_UUID_BASE				{0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xF0, 0x0F, 0xEE, \
									0xDD, 0xCC, 0xBB, 0xAA, 0x00, 0x00, 0x00, 0x00}
#define DMX_UUID_SERVICE			0x1502
#define DMX_UUID_CHANNEL_CHAR		0x1701
#define DMX_UUID_CHANNEL_GROUP_CHAR	0x1702

struct ble_dmx_service_handle_t
{
	uint16_t					service_handle;     /**< Handle of Our Service (as provided by the BLE stack). */
	uint16_t					conn_handle; 
	ble_gatts_char_handles_t	dmx_channels_char_handles[16];
	ble_gatts_char_handles_t	dmx_channels_groups_char_handles[2];
};


void ble_dmx_service_init(struct ble_dmx_service_handle_t * p_battery_service);
void ble_dmx_on_ble_evt(struct ble_dmx_service_handle_t * p_battery_service, ble_evt_t * p_ble_evt);

#endif // BLE_DMX_SERVICE_H__
