 /********************************************************************************
 * Copyright (c) 2025-2026 ZF Friedrichshafen AG
 *
 * This program and the accompanying materials are made available under the 
 * terms of the Apache License Version 2.0 which is available at
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * SPDX-License-Identifier: Apache-2.0 
 ********************************************************************************/

/**
* @file config.h
* @date 2025-09-06 15:15:34
* This file defines the data link object between CAN and the V-API devices.
* This file was generated by the DBC utility from:
*   datalink_2doors_example.dbc
*   DBC file version: 1.0.0.1
*/
#ifndef __DBC_GENERATED__CONFIG_H__20250906_151534_698__
#define __DBC_GENERATED__CONFIG_H__20250906_151534_698__

#include <stdint.h>

// define class name and unique id
#define MODEL_IDENTIFIER Doors2ExampleFMU
#define INSTANTIATION_TOKEN "945aa152-f9fd-4d02-add5-a4320d05c0ab"
#define FMI_VERSION 2

#define CO_SIMULATION

// define model size
#define NX 0
#define NZ 0

#define GET_INT32
#define SET_INT32
#define GET_FLAOT64
#define SET_FLOAT64
#define EVENT_UPDATE
#define CLEAN_UP

#define FIXED_SOLVER_STEP 0.04
#define DEFAULT_STOP_TIME 10

typedef enum {

    vr_Door01LeftIsOpen = 0,
    vr_Door01RightIsOpen = 1,
    vr_LockDoor01Right = 2,
    vr_LockDoor01Left = 3,

} ValueReference;

typedef struct {

    int32_t Door01LeftIsOpen;
    int32_t Door01RightIsOpen;
    int32_t LockDoor01Right;
    int32_t LockDoor01Left;

} ModelData;

#endif // !defined __DBC_GENERATED__CONFIG_H__20250906_151534_698__

