Loop Timing Witness
Native controller and runtime interfaces; hardware qualification pending
Loading...
Searching...
No Matches
amp_contract.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Commercial license available
3// © Concepts 1996–2026 Miroslav Šotek. All rights reserved.
4// © Code 2020–2026 Miroslav Šotek. All rights reserved.
5// ORCID: 0009-0009-3560-0851
6// Contact: www.anulum.li | protoscience@anulum.li
7// Loop Timing Witness — dedicated hart and single producer telemetry contract
8
12
13#ifndef WITNESS_AMP_CONTRACT_H
14#define WITNESS_AMP_CONTRACT_H
16
18#define WITNESS_AMP_ABI UINT32_C(2)
20#define WITNESS_AMP_CAPACITY UINT32_C(256)
21
27
33
41
52
61
70
75
77#ifdef __cplusplus
78[[noreturn]] void witness_amp_main(void);
79#else
80_Noreturn void witness_amp_main(void);
81#endif
83void witness_amp_trap(uint64_t cause, uint64_t value);
85#ifdef __cplusplus
86[[noreturn]] void witness_amp_rust_panic(void);
87#else
88_Noreturn void witness_amp_rust_panic(void);
89#endif
91#ifdef __cplusplus
92[[noreturn]] void witness_amp_exit(void);
93#else
94_Noreturn void witness_amp_exit(void);
95#endif
213
214#endif
_Noreturn void witness_amp_exit(void)
_Noreturn void witness_amp_main(void)
void witness_amp_trap(uint64_t cause, uint64_t value)
const witness_amp_run_contract witness_amp_run
#define WITNESS_AMP_CAPACITY
const witness_amp_platform_contract witness_amp_platform
witness_amp_status
@ WITNESS_AMP_ARMED
@ WITNESS_AMP_FINISHED
@ WITNESS_AMP_INITIAL
@ WITNESS_AMP_REFUSED
witness_amp_logger_status
@ WITNESS_AMP_LOGGER_COMPLETE
@ WITNESS_AMP_LOGGER_READY
@ WITNESS_AMP_LOGGER_WAITING
_Noreturn void witness_amp_rust_panic(void)
witness_amp_sample records[WITNESS_AMP_CAPACITY]
uint32_t telemetry_overflow
witness_amp_run_contract run
witness_coefficients coefficients