CTRE Phoenix 6 C++ 26.0.0-beta-1
Loading...
Searching...
No Matches
platform_c_style.h
Go to the documentation of this file.
1/*
2 * Copyright (C) Cross The Road Electronics.  All rights reserved.
3 * License information can be found in CTRE_LICENSE.txt
4 * For support and suggestions contact support@ctr-electronics.com or file
5 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
6 */
7#pragma once
8
10#include "stdint.h"
11#include "stdbool.h"
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
18CTREXPORT int32_t c_ctre_phoenix6_platform_canbus_get_status(float *busUtilPerc, uint32_t *busOffCount, uint32_t *txFullCount, uint32_t *rec, uint32_t *tec, char const *canbus, bool printErr);
19CTREXPORT void c_ctre_phoenix6_platform_canbus_sendmessage(uint32_t messageId, uint8_t const *data, uint8_t dataSize, char const *canbus, bool printErr);
20CTREXPORT int32_t c_ctre_phoenix6_platform_canbus_receivemessage(uint32_t messageId, uint8_t *data, uint8_t * dataSize, char const *canbus, bool printErr);
21
22CTREXPORT int32_t c_ctre_phoenix6_platform_sim_create(int deviceType, int id);
23CTREXPORT int32_t c_ctre_phoenix6_platform_sim_destroy(int deviceType, int id);
25CTREXPORT int32_t c_ctre_phoenix6_platform_sim_set_physics_input(int deviceType, int id, char const *physicsType, double value);
26CTREXPORT int32_t c_ctre_phoenix6_platform_sim_get_physics_value(int deviceType, int id, char const *physicsType, double *value);
28
39
40/* NOTE: For SchemaValue, Raw, String, and Arrays, caller must manually free the provided buffer, as well as the units buffer. */
41CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_schema_value(char const *name, uint16_t type, char **units, uint8_t **data, uint32_t *len, double *timestampSeconds);
42CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_raw(char const *name, char **units, uint8_t **data, uint32_t *len, double *timestampSeconds);
43CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean(char const *name, char **units, bool *value, double *timestampSeconds);
44CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer(char const *name, char **units, int64_t *value, double *timestampSeconds);
45CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float(char const *name, char **units, float *value, double *timestampSeconds);
46CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double(char const *name, char **units, double *value, double *timestampSeconds);
47CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string(char const *name, char **units, char **value, uint32_t *len, double *timestampSeconds);
48CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean_array(char const *name, char **units, bool **values, uint32_t *count, double *timestampSeconds);
49CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer_array(char const *name, char **units, int64_t **values, uint32_t *count, double *timestampSeconds);
50CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float_array(char const *name, char **units, float **values, uint32_t *count, double *timestampSeconds);
51CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double_array(char const *name, char **units, double **values, uint32_t *count, double *timestampSeconds);
52CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string_array(char const *name, char **units, char ***values, uint32_t *count, double *timestampSeconds);
53
58CTREXPORT int32_t c_ctre_phoenix6_platform_add_schema(char const *name, uint16_t type, uint8_t const *schema, uint32_t size);
59CTREXPORT int32_t c_ctre_phoenix6_platform_add_schema_string(char const *name, uint16_t type, char const *schema, uint32_t size);
60CTREXPORT bool c_ctre_phoenix6_platform_has_schema(char const *name, uint16_t type);
61CTREXPORT int32_t c_ctre_phoenix6_platform_write_schema_value(char const *name, char const *schema, uint16_t type, uint8_t const *data, uint32_t size, double latencySeconds);
62CTREXPORT int32_t c_ctre_phoenix6_platform_write_raw(char const *name, uint8_t const *data, uint32_t size, double latencySeconds);
63CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean(char const *name, bool value, double latencySeconds);
64CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer(char const *name, int64_t value, char const *units, double latencySeconds);
65CTREXPORT int32_t c_ctre_phoenix6_platform_write_float(char const *name, float value, char const *units, double latencySeconds);
66CTREXPORT int32_t c_ctre_phoenix6_platform_write_double(char const *name, double value, char const *units, double latencySeconds);
67CTREXPORT int32_t c_ctre_phoenix6_platform_write_string(char const *name, char const *value, uint32_t size, double latencySeconds);
68CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean_array(char const *name, bool const *values, uint32_t count, double latencySeconds);
69CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer_array(char const *name, int64_t const *values, uint32_t count, char const *units, double latencySeconds);
70CTREXPORT int32_t c_ctre_phoenix6_platform_write_float_array(char const *name, float const *values, uint32_t count, char const *units, double latencySeconds);
71CTREXPORT int32_t c_ctre_phoenix6_platform_write_double_array(char const *name, double const *values, uint32_t count, char const *units, double latencySeconds);
72CTREXPORT int32_t c_ctre_phoenix6_platform_write_string_array(char const *name, char const *const *values, uint32_t count, double latencySeconds);
73
74#ifdef __cplusplus
75}
76#endif
#define CTREXPORT
Definition export.h:14
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_raw(char const *name, char **units, uint8_t **data, uint32_t *len, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_schema_value(char const *name, char const *schema, uint16_t type, uint8_t const *data, uint32_t size, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_canbus_get_status(float *busUtilPerc, uint32_t *busOffCount, uint32_t *txFullCount, uint32_t *rec, uint32_t *tec, char const *canbus, bool printErr)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double(char const *name, char **units, double *value, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_enable_auto_logging(bool enable)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float(char const *name, char **units, float *value, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean_array(char const *name, char **units, bool **values, uint32_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean(char const *name, bool value, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string_array(char const *name, char **units, char ***values, uint32_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean_array(char const *name, bool const *values, uint32_t count, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_string_array(char const *name, char const *const *values, uint32_t count, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer_array(char const *name, int64_t const *values, uint32_t count, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_float(char const *name, float value, char const *units, double latencySeconds)
CTREXPORT bool c_ctre_phoenix6_platform_has_schema(char const *name, uint16_t type)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_schema_value(char const *name, uint16_t type, char **units, uint8_t **data, uint32_t *len, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_raw(char const *name, uint8_t const *data, uint32_t size, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_get_physics_value(int deviceType, int id, char const *physicsType, double *value)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer_array(char const *name, char **units, int64_t **values, uint32_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_get_last_error(int deviceType, int id)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double_array(char const *name, char **units, double **values, uint32_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_set_physics_input(int deviceType, int id, char const *physicsType, double value)
CTREXPORT void c_ctre_phoenix6_platform_canbus_sendmessage(uint32_t messageId, uint8_t const *data, uint8_t dataSize, char const *canbus, bool printErr)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_float_array(char const *name, float const *values, uint32_t count, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_canbus_receivemessage(uint32_t messageId, uint8_t *data, uint8_t *dataSize, char const *canbus, bool printErr)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_double(char const *name, double value, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean(char const *name, char **units, bool *value, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_destroy(int deviceType, int id)
CTREXPORT bool c_ctre_phoenix6_platform_replay_is_finished(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer(char const *name, int64_t value, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_string(char const *name, char const *value, uint32_t size, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_start_logger(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_set_logger_path(char const *path)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_play(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string(char const *name, char **units, char **value, uint32_t *len, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_add_schema(char const *name, uint16_t type, uint8_t const *schema, uint32_t size)
CTREXPORT void c_ctre_phoenix6_platform_replay_set_speed(double speed)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_stop(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_load_file(char const *filepath)
CTREXPORT int32_t c_ctre_phoenix6_platform_add_schema_string(char const *name, uint16_t type, char const *schema, uint32_t size)
CTREXPORT int32_t c_ctre_phoenix6_platform_stop_logger(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_pause(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_create(int deviceType, int id)
CTREXPORT bool c_ctre_phoenix6_platform_canbus_is_network_fd(char const *canbus)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_destroy_all(void)
CTREXPORT bool c_ctre_phoenix6_platform_replay_is_file_loaded(void)
CTREXPORT void c_ctre_phoenix6_platform_replay_close_file(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer(char const *name, char **units, int64_t *value, double *timestampSeconds)
CTREXPORT bool c_ctre_phoenix6_platform_replay_is_running(uint16_t timeoutMs)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float_array(char const *name, char **units, float **values, uint32_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_step_timing(double stepTimeSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_double_array(char const *name, double const *values, uint32_t count, char const *units, double latencySeconds)