main_ubi_sdk v 0.1.3
This is UBI4 documentation
base_parameter_pointers_struct Struct Reference

Дочерняя структура base_parameter_struct, содержит указатели и колбеки More...

#include <base_parameter.h>

Collaboration diagram for base_parameter_pointers_struct:

Data Fields

uint8_t * parameter_data_p
 
uint8_t * flag_buffer
 
void * device_owner
 
void * related_parameter_p
 
void * source_parameter
 
base_parameter_addinfoseg_structadd_info_segments
 
uint8_t enable_transfer
 
enable_function_struct enable_function
 
struct parameter_consumer_array_structparameters_consumers
 
struct dependence_info_array_structdependence_info
 
change_notification_callback_t change_notification
 
tx_notificaion_callback_t tx_notification
 
pre_read_callback_t pre_read_callback
 

Detailed Description

Дочерняя структура base_parameter_struct, содержит указатели и колбеки

Parameters
parameter_data_pУказатель на буфер данных. Используется для чтения и записи данных по умолчанию
flag_buffer
device_owner
related_parameter_p
source_parameter
add_info_segmentsУказатель на структуру типа base_parameter_addinfoseg_struct, используется для декларации виджетов и других addinfo сегментов (указать какие)
enable_transfer
enable_function
parameters_consumers
dependence_info
change_notificationКолбек по обновлению параметра. Если =0, то входящие данные будут записаны в parameter_data_p,
При использовании данного колбека данные в parameter_data_p не записываются, и это при необходимости это нужно сделать руками как в примере
Пример использования
void update_PARAM_NAME_Param(base_parameter_struct *param, uint8_t *newVal)
{
memcpy(param->pointers->parameter_data_p, newVal, param->info->parameter_size);
DataTable_Save(device_info->init_device_info->data_table);
}
void DataTable_Save(data_table_struct *data_table)
Definition data_table.c:1203
uint16_t parameter_size
Definition base_parameter.h:196
uint8_t * parameter_data_p
Definition base_parameter.h:330
Верхнеуровневая струткура декларации параметра
Definition base_parameter.h:354
base_parameter_info_struct * info
Definition base_parameter.h:355
base_parameter_pointers_struct * pointers
Definition base_parameter.h:356
tx_notificationКолбек об окончании передачи данных. используется если нужно отправить данные один раз. Например action_request_param
Пример использования
void actionRequesParamTxDone(void* param)
{
action_request_param.data_code = 0;
action_request_param.action_type = 0;
action_request_param.action_args[0] = 0;
}
pre_read_callbackКолбек о запросе данных. Используется если нужно подготовить данные непосредственно перед отправкой.
Пример использования
void preread_callback(base_parameter_struct* param)
{
packet_counter++;
}

Также есть вариант использования с аргументами, если info.type = PARTE_FIX_DATA_TRANSFER_TYPE.
Используется для Bidirectional parameter, например передачи кастомного жеста по выбору приложения через один параметр.
Пример использования
void read_gesture_callback(base_parameter_struct* param, uint8_t* args, uint16_t size)
{
GestureInfo_struct* Gesture = &UserGestureInfo.GesturesArray[*args - GESTURE_CUSTOM_0];
memcpy(&editable_gesture_param, Gesture, sizeof(editable_gesture_param));
}
@ GESTURE_CUSTOM_0
Definition hand_gesture_description.h:33

Field Documentation

◆ add_info_segments

◆ change_notification

change_notification_callback_t change_notification

◆ dependence_info

struct dependence_info_array_struct* dependence_info

◆ device_owner

void* device_owner

◆ enable_function

enable_function_struct enable_function

◆ enable_transfer

uint8_t enable_transfer

◆ flag_buffer

uint8_t* flag_buffer

◆ parameter_data_p

uint8_t* parameter_data_p

◆ parameters_consumers

struct parameter_consumer_array_struct* parameters_consumers

◆ pre_read_callback

pre_read_callback_t pre_read_callback

◆ related_parameter_p

void* related_parameter_p

◆ source_parameter

void* source_parameter

◆ tx_notification

tx_notificaion_callback_t tx_notification

The documentation for this struct was generated from the following file: