-
Notifications
You must be signed in to change notification settings - Fork 0
Code example
Konstantin Khait edited this page Jul 22, 2026
·
1 revision

LVS_USE_TASK(modbus);
LVS_TASK_CONTEXT_START(main)
LVS_TASK_CONTEXT_END(main)
LVS_LOOP_START(ble_partial)
LVS_IF(isConnected())
unsigned char data;
LVS_IF_PASSED(150)
PartialStatusRefill();
LVS_ENDIF();
LVS_START_TIMEOUT(timeout);
LVS_BEGIN_CRITICAL_SECTION();
while (PartialStatusGetByte(&data, true) && CM_isTxReady(CH_PARTIAL_STATUS))
{
LVS_IF_TIMEOUT(timeout, 1250);
break;
LVS_ENDIF();
if(!CM_Send(data))
PartialStatusGetByte(&data, false);
}
LVS_END_CRITICAL_SECTION();
LVS_ENDIF();
LVS_LOOP_END(ble_partial)
LVS_LOOP_START(ble_entire)
LVS_IF_PASSED(150)
LVS_IF(isConnected())
unsigned char data;
LVS_IF_PASSED(250)
boiler_EntireStatusRefill();
LVS_ENDIF();
LVS_START_TIMEOUT(timeout);
LVS_BEGIN_CRITICAL_SECTION();
while(EntireStatusGetByte(&data, true) && CM_isTxReady(CH_ENTIRE_STATUS))
{
LVS_IF_TIMEOUT(timeout, 250);
break;
LVS_ENDIF();
LVS_IF(!CM_ES_Send(data))
EntireStatusGetByte(&data, false);
LVS_ENDIF();
};
LVS_END_CRITICAL_SECTION();
LVS_ENDIF();
LVS_ENDIF();
LVS_LOOP_END(ble_entire)
LVS_LOOP_START(ble_tms)
LVS_IF_PASSED(1000);
LVS_IF(isConnected())
CM_TMS_Send();
CM_Type_Send(is_alta_controller);
LVS_ENDIF();
LVS_ENDIF();
LVS_LOOP_END(ble_tms)
LVS_TASK_INIT(main)
// Initialize.
ret_code_t fds_stat = fds_init();
log_init();
leds_init();
timers_init();
power_management_init();
ble_stack_init();
gap_params_init();
gatt_init();
services_init();
advertising_init();
conn_params_init();
initTimestamp(true);
// Start execution.
advertising_start();
LVS_TASK_RUN(modbus, NULL);
LVS_LOOP_RUN(ble_partial, NULL);
LVS_LOOP_RUN(ble_entire, NULL);
LVS_LOOP_RUN(ble_tms, NULL);
LVS_TASK_START(main)
LVS_TASK_EXIT(main)
LVS_TASK_END(main)
LVS_START_DATA(type);
int i;
LVS_END_DATA(type);
LVS_DEFINE_DATA_POOL(pool, type, 4);
int main(void)
{
LVS_CREATE_DATA_POOL(pool);
LVS_DATA(type)* var = LVS_ALLOCATE(pool);
LVS_DEALLOCATE(var);
LVS_INIT();
LVS_TASK_RUN(main, NULL);
LVS_RUN();
}