/*****************************************************************************
* Copyright (c) 2022, Nations Technologies Inc.
*
* All rights reserved.
* ****************************************************************************/
/**
* @file sys_var.c
* @author Nations
* @version V1.2.2
*/
#include <stdio.h>
#include "sys_var.h"
uint8_t adc_work_mode = 0; // 工作模å¼ï¼Œgpio,adc1,adc2
uint8_t mode_state = 0; // 工作模å¼
uint8_t strength_Led_state = 0; // 工作模å¼
uint8_t strength_Level = 0; // 工作模å¼
// 气囊状æ€
AIR_BAG_STATE air_bag_state;
AIR_BAG_STATE air_bag_state_before;
volatile struct _schedule_stack_ schedule_stack[STACK_SIZE] = {
0};
// 气囊工作调度æ¥éª¤æ•°
char seat_func_step_count[SEAT_FUNC_MODE_AMOUNT] = {
SEAT_FUNC_STEP_COUNT_IDLE,
SEAT_FUNC_STEP_COUNT_CYCLE_1,
SEAT_FUNC_STEP_COUNT_CYCLE_2,
SEAT_FUNC_STEP_COUNT_CYCLE_3,
SEAT_FUNC_STEP_COUNT_CYCLE_4,
SEAT_FUNC_STEP_COUNT_CYCLE_5,
SEAT_FUNC_STEP_COUNT_CYCLE_6,
SEAT_FUNC_STEP_COUNT_CYCLE_7,
SEAT_FUNC_STEP_COUNT_CYCLE_8,
};
// 按摩工作总时长
uint32_t work_mode_total_duration[SEAT_FUNC_MODE_AMOUNT] = {
CFG_MODE_KEEP_TIME_IDLE,
CFG_MODE_KEEP_TIME_CYCLE_1,
CFG_MODE_KEEP_TIME_CYCLE_2,
CFG_MODE_KEEP_TIME_CYCLE_3,
CFG_MODE_KEEP_TIME_CYCLE_4,
CFG_MODE_KEEP_TIME_CYCLE_5,
CFG_MODE_KEEP_TIME_CYCLE_6,
CFG_MODE_KEEP_TIME_CYCLE_7,
CFG_MODE_KEEP_TIME_CYCLE_8,
};
// 模å¼0 气囊工作调度表
struct _air_bag_schedule_ air_bag_schedule_idle[SEAT_FUNC_STEP_COUNT_IDLE] = {
{0, 0, 0, 0, 0, 0, 0},
};
#ifdef FY_SEAT_4
// æ¨¡å¼ 1
struct _air_bag_schedule_ air_bag_schedule_cycle_1[SEAT_FUNC_STEP_COUNT_CYCLE_1] = {
// ç®€å•æ»šåŠ¨æ¨¡å¼
{0, 3, SCHEDULE_AIR_BAG_INDEX_1, 6000, 0, 6000, 6000},
{1, 3, SCHEDULE_AIR_BAG_INDEX_2, 6000, 0, 6000, 6000},
{2, 3, SCHEDULE_AIR_BAG_INDEX_3, 6000, 0, 6000, 6000},
{3, 3, SCHEDULE_AIR_BAG_INDEX_4, 6000, 0, 6000, 6000},
};
// æ¨¡å¼ 2
struct _air_bag_schedule_ air_bag_schedule_cycle_2[SEAT_FUNC_STEP_COUNT_CYCLE_2] = {
{0, 1, SCHEDULE_AIR_BAG_INDEX_1 | SCHEDULE_AIR_BAG_INDEX_2, 6000, 0, 6000, 6000},
{1, 1, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_4, 6000, 0, 6000, 6000},
};
// æ¨¡å¼ 3
struct _air_bag_schedule_ air_bag_schedule_cycle_3[SEAT_FUNC_STEP_COUNT_CYCLE_3] = {
// ç®€å•æ»šåŠ¨æ¨¡å¼
{0, 4, SCHEDULE_AIR_BAG_INDEX_1, 6000, 0, 6000, 6000},
{1, 4, SCHEDULE_AIR_BAG_INDEX_3, 6000, 0, 6000, 6000},
{2, 4, SCHEDULE_AIR_BAG_INDEX_2, 6000, 0, 6000, 6000},
{3, 4, SCHEDULE_AIR_BAG_INDEX_4, 6000, 0, 6000, 6000},
};
#else
// æ¨¡å¼ 1
struct _air_bag_schedule_ air_bag_schedule_cycle_1[SEAT_FUNC_STEP_COUNT_CYCLE_1] = {
{0, 9, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, 8000, 0, 8000, 8000},
{1, 9, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, 8000, 0, 8000, 8000},
{2, 9, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, 8000, 0, 8000, 8000},
{3, 9, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, 8000, 0, 8000, 8000},
{4, 9, SCHEDULE_AIR_BAG_INDEX_2, 8000, 0, 8000, 8000},
{5, 9, SCHEDULE_AIR_BAG_INDEX_1, 8000, 0, 8000, 8000},
{6, 9, SCHEDULE_AIR_BAG_INDEX_2, 8000, 0, 8000, 8000},
{7, 9, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, 8000, 0, 8000, 8000},
{8, 9, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, 8000, 0, 8000, 8000},
{9, 9, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, 8000, 0, 8000, 8000},
// {9, 9, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, 8000, 0, 8000, 8000},
};
// æ¨¡å¼ 2
struct _air_bag_schedule_ air_bag_schedule_cycle_2[SEAT_FUNC_STEP_COUNT_CYCLE_2] = {
{0, 3, SCHEDULE_AIR_BAG_INDEX_5|SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7|SCHEDULE_AIR_BAG_INDEX_8, 10000, 0, 10000, 10000},
{1, 3, SCHEDULE_AIR_BAG_INDEX_3|SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9|SCHEDULE_AIR_BAG_INDEX_10, 10000, 0, 10000, 10000},
{2, 3, SCHEDULE_AIR_BAG_INDEX_2 | SCHEDULE_AIR_BAG_INDEX_1, 10000, 0, 10000, 10000},
{3, 3, SCHEDULE_AIR_BAG_INDEX_3|SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9|SCHEDULE_AIR_BAG_INDEX_10, 10000, 0, 10000, 10000},
// {4, 4, SCHEDULE_AIR_BAG_INDEX_5|SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7|SCHEDULE_AIR_BAG_INDEX_8, 11000, 0, 10000, 10000},
};
// æ¨¡å¼ 3
struct _air_bag_schedule_ air_bag_schedule_cycle_3[SEAT_FUNC_STEP_COUNT_CYCLE_3] = {
{0, 9, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_7, 8000, 0, 8000, 8000},
{1, 9, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, 8000, 0, 8000, 8000},
{2, 9, SCHEDULE_AIR_BAG_INDEX_3| SCHEDULE_AIR_BAG_INDEX_9, 8000, 0, 8000, 8000},
{3, 9, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, 8000, 0, 8000, 8000},
{4, 9, SCHEDULE_AIR_BAG_INDEX_2, 8000, 0, 8000, 8000},
{5, 9, SCHEDULE_AIR_BAG_INDEX_1, 8000, 0, 8000, 8000},
{6, 9, SCHEDULE_AIR_BAG_INDEX_2, 8000, 0, 8000, 8000},
{7, 9, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, 8000, 0, 8000, 8000},
{8, 9, SCHEDULE_AIR_BAG_INDEX_3| SCHEDULE_AIR_BAG_INDEX_9, 8000, 0, 8000, 8000},
{9, 9, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, 8000, 0, 8000, 8000},
};
#endif
// æ¨¡å¼ 4
struct _air_bag_schedule_ air_bag_schedule_cycle_4[SEAT_FUNC_STEP_COUNT_CYCLE_4] = {
// 夿‚滚动模å¼
{0, 12, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{1, 12, SCHEDULE_AIR_BAG_INDEX_3, 4000, 0, 4000, 4000},
{2, 12,SCHEDULE_AIR_BAG_INDEX_4, 4000, 0, 4000, 4000},
{3, 12, SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{4, 12, SCHEDULE_AIR_BAG_INDEX_8, 4000, 0, 4000, 4000},
{5, 12, SCHEDULE_AIR_BAG_INDEX_5, 4000, 0, 4000, 4000},
{6, 12, SCHEDULE_AIR_BAG_INDEX_6, 4000, 0, 4000, 4000},
{7, 12, SCHEDULE_AIR_BAG_INDEX_7, 4000, 0, 4000, 4000},
{8, 12, SCHEDULE_AIR_BAG_INDEX_5, 4000, 0, 4000, 4000},
{9, 12, SCHEDULE_AIR_BAG_INDEX_4, 4000, 0, 4000, 4000},
{10, 12, SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{11, 12, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{12, 12, SCHEDULE_AIR_BAG_INDEX_3, 4000, 0, 4000, 4000},
};
struct _air_bag_schedule_ air_bag_schedule_cycle_5[SEAT_FUNC_STEP_COUNT_CYCLE_5] = {
{0, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{1, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{2, 28, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, 4000, 0, 4000, 4000},
{3, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, 4000, 0, 4000, 4000},
{4, 28, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{5, 28, SCHEDULE_AIR_BAG_INDEX_4, 4000, 0, 4000, 4000},
{6, 28, SCHEDULE_AIR_BAG_INDEX_8, 4000, 0, 4000, 4000},
{7, 28, SCHEDULE_AIR_BAG_INDEX_6, 4000, 0, 4000, 4000},
{8, 28, SCHEDULE_AIR_BAG_INDEX_7, 4000, 0, 4000, 4000},
{9, 28, SCHEDULE_AIR_BAG_INDEX_3, 4000, 0, 4000, 4000},
{10, 28, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{11, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{12, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, 4000, 0, 4000, 4000},
{13, 28, SCHEDULE_AIR_BAG_INDEX_7 | SCHEDULE_AIR_BAG_INDEX_5, 4000, 0, 4000, 4000},
{14, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{15, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, 4000, 0, 4000, 4000},
{16, 28, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{17, 28, SCHEDULE_AIR_BAG_INDEX_3, 4000, 0, 4000, 4000},
{18, 28,SCHEDULE_AIR_BAG_INDEX_4, 4000, 0, 4000, 4000},
{19, 28, SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{20, 28, SCHEDULE_AIR_BAG_INDEX_8, 4000, 0, 4000, 4000},
{21, 28, SCHEDULE_AIR_BAG_INDEX_5, 4000, 0, 4000, 4000},
{22, 28, SCHEDULE_AIR_BAG_INDEX_6, 4000, 0, 4000, 4000},
{23, 28, SCHEDULE_AIR_BAG_INDEX_7, 4000, 0, 4000, 4000},
{24, 28, SCHEDULE_AIR_BAG_INDEX_5, 4000, 0, 4000, 4000},
{25, 28, SCHEDULE_AIR_BAG_INDEX_4, 4000, 0, 4000, 4000},
{26, 28, SCHEDULE_AIR_BAG_INDEX_9, 4000, 0, 4000, 4000},
{27, 28, SCHEDULE_AIR_BAG_INDEX_10, 4000, 0, 4000, 4000},
{28, 28, SCHEDULE_AIR_BAG_INDEX_3, 4000, 0, 4000, 4000},
};
// æ¨¡å¼ 6
struct _air_bag_schedule_ air_bag_schedule_cycle_6[SEAT_FUNC_STEP_COUNT_CYCLE_6] = {
// 夿‚滚动模å¼
{0, 1, SCHEDULE_AIR_BAG_INDEX_2 | SCHEDULE_AIR_BAG_INDEX_7, 6600, 0, 6600, 6600},
{1, 1, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_5, 6600, 0, 6600, 6600},
};
// æ¨¡å¼ 7
struct _air_bag_schedule_ air_bag_schedule_cycle_7[SEAT_FUNC_STEP_COUNT_CYCLE_7] = {
// ç®€å•æ»šåŠ¨æ¨¡å¼
{0, 7, SCHEDULE_AIR_BAG_INDEX_1, 3000, 0, 3000, 3000},
{1, 7, SCHEDULE_AIR_BAG_INDEX_8, 3000, 0, 3000, 3000},
{2, 7, SCHEDULE_AIR_BAG_INDEX_2, 3000, 0, 3000, 3000},
{3, 7, SCHEDULE_AIR_BAG_INDEX_7, 3000, 0, 3000, 3000},
{4, 7, SCHEDULE_AIR_BAG_INDEX_3, 3000, 0, 3000, 3000},
{5, 7, SCHEDULE_AIR_BAG_INDEX_6, 3000, 0, 3000, 3000},
{6, 7, SCHEDULE_AIR_BAG_INDEX_4, 3000, 0, 3000, 3000},
{7, 7, SCHEDULE_AIR_BAG_INDEX_5, 3000, 0, 3000, 3000},
};
//8888888
// æ¨¡å¼ 7
struct _air_bag_schedule_ air_bag_schedule_cycle_8[SEAT_FUNC_STEP_COUNT_CYCLE_8] = {
// ç®€å•æ»šåŠ¨æ¨¡å¼
{0, 2, SCHEDULE_AIR_BAG_INDEX_1, 3000, 0, 3000, 3000},
{1, 2, SCHEDULE_AIR_BAG_INDEX_8, 3000, 0, 3000, 3000},
{2, 2, SCHEDULE_AIR_BAG_INDEX_8, 3000, 0, 3000, 3000},
};
//////////////////Ç¿¶È1////////////////////////////////////////////////////////
// æ¨¡å¼ 1
struct _air_bag_schedule_ air_bag_schedule_lvevel1_cycle_1[4] = {
{0, 3, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{1, 3, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{2, 3, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{3, 3, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
};
// æ¨¡å¼ 2
struct _air_bag_schedule_ air_bag_schedule_lvevel1_cycle_2[8] = {
{0, 7, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{1, 7, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{2, 7, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{3, 7, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{4, 7, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{5, 7, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{6, 7, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{7, 7, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
};
// æ¨¡å¼ 3
struct _air_bag_schedule_ air_bag_schedule_lvevel1_cycle_3[4] = {
{0, 3, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{1, 3, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{2, 3, SCHEDULE_AIR_BAG_INDEX_7 | SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{3, 3, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
// {4, 4, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
};
// æ¨¡å¼ 4
struct _air_bag_schedule_ air_bag_schedule_lvevel1_cycle_4[SEAT_FUNC_STEP_COUNT_CYCLE_4] = {
{0, 12, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{1, 12, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{2, 12,SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{3, 12, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{4, 12, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{5, 12, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{6, 12, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{7, 12, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{8, 12, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{9, 12, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{10, 12, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{11, 12, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{12, 12, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
};
struct _air_bag_schedule_ air_bag_schedule_lvevel1_cycle_5[SEAT_FUNC_STEP_COUNT_CYCLE_5] = {
{0, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{1, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{2, 28, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{3, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{4, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{5, 28, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{6, 28, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{7, 28, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{8, 28, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{9, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{10, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{11, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{12, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{13, 28, SCHEDULE_AIR_BAG_INDEX_7 | SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{14, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{15, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{16, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{17, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{18, 28,SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{19, 28, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{20, 28, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{21, 28, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{22, 28, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{23, 28, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{24, 28, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{25, 28, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{26, 28, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{27, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
{28, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_1, 0, AIR_LEVEL_1, AIR_LEVEL_1},
};
//////////////////Ç¿¶È2////////////////////////////////////////////////////////
struct _air_bag_schedule_ air_bag_schedule_lvevel2_cycle_1[4] = {
{0, 3, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{1, 3, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{2, 3, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{3, 3, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
};
// æ¨¡å¼ 2
struct _air_bag_schedule_ air_bag_schedule_lvevel2_cycle_2[8] = {
{0, 7, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{1, 7, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{2, 7, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{3, 7, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{4, 7, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{5, 7, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{6, 7, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{7, 7, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
};
// 3
struct _air_bag_schedule_ air_bag_schedule_lvevel2_cycle_3[4] = {
{0, 3, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{1, 3, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{2, 3, SCHEDULE_AIR_BAG_INDEX_7 | SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{3, 3, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
//{4, 4, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
};
// 4
struct _air_bag_schedule_ air_bag_schedule_lvevel2_cycle_4[SEAT_FUNC_STEP_COUNT_CYCLE_4] = {
{0, 12, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{1, 12, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{2, 12,SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{3, 12, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{4, 12, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{5, 12, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{6, 12, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{7, 12, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{8, 12, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{9, 12, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{10, 12, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{11, 12, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{12, 12, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
};
struct _air_bag_schedule_ air_bag_schedule_lvevel2_cycle_5[SEAT_FUNC_STEP_COUNT_CYCLE_5] = {
{0, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{1, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{2, 28, SCHEDULE_AIR_BAG_INDEX_5 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{3, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{4, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{5, 28, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{6, 28, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{7, 28, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{8, 28, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{9, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{10, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{11, 28, SCHEDULE_AIR_BAG_INDEX_3 | SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{12, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{13, 28, SCHEDULE_AIR_BAG_INDEX_7 | SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{14, 28, SCHEDULE_AIR_BAG_INDEX_4 | SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{15, 28, SCHEDULE_AIR_BAG_INDEX_6 | SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{16, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{17, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{18, 28,SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{19, 28, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{20, 28, SCHEDULE_AIR_BAG_INDEX_8, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{21, 28, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{22, 28, SCHEDULE_AIR_BAG_INDEX_6, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{23, 28, SCHEDULE_AIR_BAG_INDEX_7, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{24, 28, SCHEDULE_AIR_BAG_INDEX_5, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{25, 28, SCHEDULE_AIR_BAG_INDEX_4, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{26, 28, SCHEDULE_AIR_BAG_INDEX_9, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{27, 28, SCHEDULE_AIR_BAG_INDEX_10, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
{28, 28, SCHEDULE_AIR_BAG_INDEX_3, AIR_LEVEL_2, 0, AIR_LEVEL_2, AIR_LEVEL_2},
};
// å·¥ä½œæ¨¡å¼ è°ƒåº¦è¡¨
struct _air_bag_schedule_ *air_bag_schedule_table[SEAT_FUNC_MODE_AMOUNT] = {
air_bag_schedule_idle,
air_bag_schedule_cycle_1,
air_bag_schedule_cycle_2,
air_bag_schedule_cycle_3,
air_bag_schedule_cycle_4,
air_bag_schedule_cycle_5,
air_bag_schedule_cycle_6,
air_bag_schedule_cycle_7,
air_bag_schedule_cycle_8,
};
struct _air_bag_schedule_ *air_bag_schedule1_table[SEAT_FUNC_MODE_AMOUNT] = {
air_bag_schedule_idle,
air_bag_schedule_lvevel1_cycle_1,
air_bag_schedule_lvevel1_cycle_2,
air_bag_schedule_lvevel1_cycle_3,
air_bag_schedule_lvevel1_cycle_4,
air_bag_schedule_lvevel1_cycle_5,
air_bag_schedule_cycle_6,
air_bag_schedule_cycle_7,
air_bag_schedule_cycle_8,
};
struct _air_bag_schedule_ *air_bag_schedule2_table[SEAT_FUNC_MODE_AMOUNT] = {
air_bag_schedule_idle,
air_bag_schedule_lvevel2_cycle_1,
air_bag_schedule_lvevel2_cycle_2,
air_bag_schedule_lvevel2_cycle_3,
air_bag_schedule_lvevel2_cycle_4,
air_bag_schedule_lvevel2_cycle_5,
air_bag_schedule_cycle_6,
air_bag_schedule_cycle_7,
air_bag_schedule_cycle_8,
};
// 气囊工作调度状æ€
struct _air_bag_ctrl_ air_bag_ctrl = {
0,
0,
0,
0,
0,
0,
// u8 current_mode; //气囊调度模å¼
// struct _air_bag_schedule_ *schedule_table_pntr; //调度表指针
// u8 schedule_table_size; //调度表大å°
// u8 current_schedule_index; //气囊当å‰è°ƒåº¦æ—¶åºç´¢å¼•
// u32 current_schedule_duration; //气囊当å‰è°ƒåº¦æ—¶åºæŒç»æ—¶é—´
// u8 current_repeat_start_index; //é‡å¤å¼€å§‹ç´¢å¼•
// u8 current_repeat_end_index; //é‡å¤ç»“æŸç´¢å¼•
// u8 current_repeat_times; //é‡å¤ç»„索引
};
void statck_pop(int stack_idx)
{
schedule_stack[stack_idx].OpAirBagGroup = 0;
schedule_stack[stack_idx].InDuration = 0;
schedule_stack[stack_idx].HoldDuration = 0;
schedule_stack[stack_idx].OutDuration = 0;
schedule_stack[stack_idx].NextOpDuration = 0;
schedule_stack[stack_idx].sch_idx_max = 0;
schedule_stack[stack_idx].sch_idx = 0;
schedule_stack[stack_idx].IsUsed = 0;
}
void statck_push(struct _air_bag_schedule_ *schedule)
{
int i;
for (i = 0; i < STACK_SIZE; i++) {
if (schedule_stack[i].IsUsed == 0) {
schedule_stack[i].HoldDuration = schedule->HoldDuration;
schedule_stack[i].OpAirBagGroup = schedule->OpAirBagGroup;
schedule_stack[i].InDuration = schedule->InDuration;
schedule_stack[i].OutDuration = schedule->OutDuration;
schedule_stack[i].NextOpDuration = schedule->NextOpDuration;
schedule_stack[i].sch_idx = schedule->sch_idx;
schedule_stack[i].sch_idx_max = schedule->sch_idx_max;
schedule_stack[i].IsUsed = 1;
break;
}
}
}
void statck_init(void)
{
int i;
for (i = 0; i < STACK_SIZE; i++) {
schedule_stack[i].HoldDuration = 0;
schedule_stack[i].OpAirBagGroup = 0;
schedule_stack[i].InDuration = 0;
schedule_stack[i].OutDuration = 0;
schedule_stack[i].NextOpDuration = 0;
schedule_stack[i].sch_idx = 0;
schedule_stack[i].sch_idx_max = 0;
schedule_stack[i].IsUsed = 0;
}
}
void air_bag_set_in(uint16_t air_bag_group)
{
if (air_bag_group & AIR_BAG_MASK) MOTOR_ON else MOTOR_OFF;
#if 0
//åŒæ°”囊滚动æ£å¸¸
//ç®€å•æ»šåЍæ£å¸¸
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_1 ) SWITCH_1_ON else SWITCH_1_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_2 ) SWITCH_2_ON else SWITCH_2_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_3 ) SWITCH_3_ON else SWITCH_3_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_4 ) SWITCH_4_ON else SWITCH_4_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_5 ) SWITCH_5_ON else SWITCH_5_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_6 ) SWITCH_6_ON else SWITCH_6_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_7 ) SWITCH_7_ON else SWITCH_7_OFF ;
if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_8 ) SWITCH_8_ON else SWITCH_8_OFF ;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_9 ) SWITCH_9_ON else SWITCH_9_OFF ;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_10) SWITCH_10_ON else SWITCH_10_OFF ;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_11) SWITCH_11_ON else SWITCH_11_OFF ;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_12) SWITCH_12_ON else SWITCH_12_OFF ;
#else
// ä¸‰æ°”å›Šç¿»æ»šæ¨¡å¼æ£å¸¸
// ç®€å•æ»šåЍæ£å¸¸
// åŒæ°”囊滚动æ£å¸¸
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_1) SWITCH_1_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_2) SWITCH_2_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_3) SWITCH_3_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_4) SWITCH_4_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_5) SWITCH_5_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_6) SWITCH_6_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_7) SWITCH_7_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_8) SWITCH_8_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_9) SWITCH_9_ON;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_10) SWITCH_10_ON;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_11) SWITCH_11_ON else SWITCH_11_OFF ;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_12) SWITCH_12_ON else SWITCH_12_OFF ;
#endif
}
void air_bag_set_out(uint16_t air_bag_group)
{
// if(air_bag_group & AIR_BAG_MASK ) MOTOR_ON else MOTOR_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_1) SWITCH_1_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_2) SWITCH_2_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_3) SWITCH_3_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_4) SWITCH_4_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_5) SWITCH_5_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_6) SWITCH_6_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_7) SWITCH_7_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_8) SWITCH_8_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_9) SWITCH_9_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_10) SWITCH_10_OFF;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_11) SWITCH_11_OFF;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_12) SWITCH_12_OFF;
}
void air_bag_set_idle(uint16_t air_bag_group)
{
if (air_bag_group & AIR_BAG_MASK) MOTOR_ON else MOTOR_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_1) SWITCH_1_ON else SWITCH_1_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_2) SWITCH_2_ON else SWITCH_2_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_3) SWITCH_3_ON else SWITCH_3_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_4) SWITCH_4_ON else SWITCH_4_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_5) SWITCH_5_ON else SWITCH_5_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_6) SWITCH_6_ON else SWITCH_6_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_7) SWITCH_7_ON else SWITCH_7_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_8) SWITCH_8_ON else SWITCH_8_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_9) SWITCH_9_ON else SWITCH_9_OFF;
if (air_bag_group & SCHEDULE_AIR_BAG_INDEX_10) SWITCH_10_ON else SWITCH_10_OFF;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_11) SWITCH_11_ON else SWITCH_11_OFF;
// if(air_bag_group & SCHEDULE_AIR_BAG_INDEX_12) SWITCH_12_ON else SWITCH_12_OFF;
}
/**
* @}
*/
/**
* @}
*/