24 lines
566 B
C
24 lines
566 B
C
// Copyright (C) 2026 Pierre Barbier <pierrebarbier741@gmail.com>
|
|
// Copyright (C) 2026 Association Exergie <association.exergie@gmail.com>
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#include <ring_buffer.h>
|
|
typedef enum {
|
|
SYNC_OK = 0,
|
|
SYNC_PENDING = 1,
|
|
SYNC_NOT_OK = 2
|
|
} sync_state;
|
|
typedef enum {
|
|
CYCLE_EXHAUST = 0,
|
|
CYCLE_INTAKE = 1,
|
|
CYCLE_COMPRESSION = 2,
|
|
CYCLE_COMBUSTION = 3,
|
|
CYCLE_UNKNOWN = 4
|
|
} crank_state;
|
|
typedef struct {
|
|
crank_state cycle;
|
|
sync_state sync;
|
|
ring_buffer_t crank_RB;
|
|
ring_buffer_t cam_RB;
|
|
} global_state_t;
|