CTRE Phoenix 6 C++ 25.0.0-beta-4
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
38
39/* NOTE: For Raw and Arrays, caller must allocate a buffer >= 64 bytes. For String, the buffer must be >= 65 bytes. */
40CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_raw(char const *name, char **units, uint8_t *data, uint8_t *len, double *timestampSeconds);
41CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean(char const *name, char **units, bool *value, double *timestampSeconds);
42CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer(char const *name, char **units, int64_t *value, double *timestampSeconds);
43CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float(char const *name, char **units, float *value, double *timestampSeconds);
44CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double(char const *name, char **units, double *value, double *timestampSeconds);
45CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string(char const *name, char **units, char *value, uint8_t *len, double *timestampSeconds);
46CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean_array(char const *name, char **units, bool *values, uint8_t *count, double *timestampSeconds);
47CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer_array(char const *name, char **units, int64_t *values, uint8_t *count, double *timestampSeconds);
48CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float_array(char const *name, char **units, float *values, uint8_t *count, double *timestampSeconds);
49CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double_array(char const *name, char **units, double *values, uint8_t *count, double *timestampSeconds);
50
55CTREXPORT int32_t c_ctre_phoenix6_platform_write_raw(char const *name, uint8_t const *data, uint8_t size, double latencySeconds);
56CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean(char const *name, bool value, double latencySeconds);
57CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer(char const *name, int64_t value, char const *units, double latencySeconds);
58CTREXPORT int32_t c_ctre_phoenix6_platform_write_float(char const *name, float value, char const *units, double latencySeconds);
59CTREXPORT int32_t c_ctre_phoenix6_platform_write_double(char const *name, double value, char const *units, double latencySeconds);
60CTREXPORT int32_t c_ctre_phoenix6_platform_write_string(char const *name, char const *value, double latencySeconds);
61CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean_array(char const *name, bool const *values, uint8_t count, double latencySeconds);
62CTREXPORT int32_t c_ctre_phoenix6_platform_write_integer_array(char const *name, int64_t const *values, uint8_t count, char const *units, double latencySeconds);
63CTREXPORT int32_t c_ctre_phoenix6_platform_write_float_array(char const *name, float const *values, uint8_t count, char const *units, double latencySeconds);
64CTREXPORT int32_t c_ctre_phoenix6_platform_write_double_array(char const *name, double const *values, uint8_t count, char const *units, double latencySeconds);
65
66#ifdef __cplusplus
67}
68#endif
#define CTREXPORT
Definition export.h:14
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_write_boolean(char const *name, bool value, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_string(char const *name, char const *value, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_raw(char const *name, uint8_t const *data, uint8_t size, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_play()
CTREXPORT int32_t c_ctre_phoenix6_platform_write_double_array(char const *name, double const *values, uint8_t count, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_string(char const *name, char **units, char *value, uint8_t *len, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_boolean_array(char const *name, char **units, bool *values, uint8_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_float(char const *name, float value, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_float_array(char const *name, char **units, float *values, uint8_t *count, double *timestampSeconds)
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_sim_get_last_error(int deviceType, int id)
CTREXPORT void c_ctre_phoenix6_platform_replay_close_file()
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_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 bool c_ctre_phoenix6_platform_replay_is_file_loaded()
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 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_start_logger(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_raw(char const *name, char **units, uint8_t *data, uint8_t *len, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_set_logger_path(char const *path)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer_array(char const *name, char **units, int64_t *values, uint8_t *count, double *timestampSeconds)
CTREXPORT void c_ctre_phoenix6_platform_replay_set_speed(double speed)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_pause()
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_load_file(char const *filepath)
CTREXPORT int32_t c_ctre_phoenix6_platform_stop_logger(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_write_integer_array(char const *name, int64_t const *values, uint8_t count, char const *units, double latencySeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_sim_destroy_all(void)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_double_array(char const *name, char **units, double *values, uint8_t *count, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_stop()
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_get_integer(char const *name, char **units, int64_t *value, double *timestampSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_boolean_array(char const *name, bool const *values, uint8_t count, double latencySeconds)
CTREXPORT bool c_ctre_phoenix6_platform_replay_is_running(uint16_t timeoutMs)
CTREXPORT int32_t c_ctre_phoenix6_platform_replay_step_timing(double stepTimeSeconds)
CTREXPORT int32_t c_ctre_phoenix6_platform_write_float_array(char const *name, float const *values, uint8_t count, char const *units, double latencySeconds)