コード例 #1
0
ファイル: app.c プロジェクト: 937132ztf/BLE_Demos
/* Device On Message */
void ble_device_on_message(uint8_t type, uint16_t length, uint8_t* value)
{
	
		/*echo data*/
		ble_device_send(type, length, value);
			
}
コード例 #2
0
void dev_inf_dev_id_req(uint8_t type, uint16_t length, uint8_t* data)
{
  uint8_t buff[128];
  
      ble_device_get_id(buff, 16);
      ble_device_send(0x80, 16, buff);

}
コード例 #3
0
ファイル: sysmsg.c プロジェクト: Sleepsleep/nRF51_Platform
void system_on_message(uint8_t type, uint16_t length, uint8_t* data)
{
	uint8_t vid_pid_info[8] ;
  
  uint32_t err_code;
  uint8_t len;
  uint8_t err_state[1] = {0x00};
	uint8_t value[2];
	switch (type) {
	
		case 0x80:  //divice id
		dev_inf_dev_id_req(type, length, data);
		break;
		case 0x81: // OTA
		ota_on_message(type, length, data);
		break;
		case 0x82: //enter OTA Mode
		enter_ota_mode(type, length, data);
		break;
		case 0x83: //device statue req
		device_current_statue_req(type, length, data);
		break;
		case 0x84: //device option
		device_option(type, length, data);
		break;
		case 0x85:
			err_code = data_storage_read(0x10, &len, vid_pid_info);
			if(err_code == NRF_SUCCESS){
				ble_device_send(type,len,vid_pid_info);
			}else{
				ble_device_send(type,1,err_state);
			}
		break;
		case 0x86:
				ble_device_send(type,8,FIRMWARE_VERSION);
		break;
			case 0x87:
		if(length == 0x0008){
			err_code = manufacturer_storage_write(0x10, length, data);
			ble_device_send(type,1,err_state);
		}
		break;
		
    }
}
コード例 #4
0
ファイル: app.c プロジェクト: JUMA-IO/nRF51_Platform
void on_adc_complete(void* args)
{
  adc_result_t *result = (adc_result_t*)args;
  uint8_t buffer[2];

  buffer[0] = result->value >> 8;
  buffer[1] = result->value & 0xff;

  ble_device_send(0, 2, buffer);
}
コード例 #5
0
ファイル: app.c プロジェクト: gilbertjuly/cannon
/*Accept humidity,tempreture data*/
void read_temp_hum(void* arg)
{
    uint8_t temp[2] = {0};
    uint16_t temp_1 = 0;
//	/*humity*/
    BSP_HUM_TEMP_GetHumidity(&humidity);
    temp_1 = (uint16_t)(humidity*100);
    temp[0] = temp_1 >> 8;
    temp[1] = temp_1 & 0xFF;
    ble_device_send(0x01, 2, temp);
    /*Temperature*/
    BSP_HUM_TEMP_GetTemperature(&temperature);
    temp_1 = (uint16_t)(temperature*100);
    temp[0] = temp_1 >> 8;
    temp[1] = temp_1 & 0xFF;
    ble_device_send(0x00, 2, temp);

    run_after_delay(read_temp_hum, NULL, 2000);
}
コード例 #6
0
ファイル: app.c プロジェクト: Sleepsleep/STM32_Platform
static void sensor_print(void* arg)
{
  static int counter = 0;
  if (++counter > 5) {
    counter = 0;

    //static char st = '$';
    //UART_Transmit((uint8_t *)&st, 1);
    //UART_Transmit((uint8_t *)q, sizeof(q));
    if (sendFLAG) {
      ble_device_send(0x01, 16, (uint8_t*)q);
    }
  }
}
コード例 #7
0
ファイル: app.c プロジェクト: JUMA-IO/STM32_Platform
static void read_acc(void* arg)
// sensor read accelerometer
{
    JSensor_AXIS_Typedef tdef;
    int8_t ACC[6], GRO[6];

    if (!running) return;

    tdef.ACC = ACC;
    tdef.GRO = GRO;

    if (JSENSOR_OK == jsensor_app_read_sensor(JSENSOR_TYPE_MOTION_6AXIS, (void *)&tdef)) {
        ble_device_send(0x04, 6, (uint8_t*)ACC);
    }

    run_after_delay(read_acc, NULL, UPDATE_INTERVAL);
}