STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
idle_e2e.cpp File Reference
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "emmc_log.h"
#include "fake_air.h"
#include "frame.h"
#include "idle.h"
#include "link.h"
#include "mode_core.h"
#include "sleep_math.h"
#include "sx1262.h"
#include "sx1262_setup.h"
Include dependency graph for idle_e2e.cpp:

Go to the source code of this file.

Classes

struct  anonymous_namespace{idle_e2e.cpp}::Control
struct  anonymous_namespace{idle_e2e.cpp}::World
struct  anonymous_namespace{idle_e2e.cpp}::World::Ground
struct  anonymous_namespace{idle_e2e.cpp}::Beat
struct  anonymous_namespace{idle_e2e.cpp}::Check

Namespaces

namespace  anonymous_namespace{idle_e2e.cpp}

Macros

#define EXPECT(cond, ...)

Functions

RadioStatus radio_link::radio_probe ()
RadioStatus radio_link::radio_receive (uint8_t *buf, uint8_t max_len, uint8_t &len)
RadioStatus radio_link::radio_send (const uint8_t *bytes, uint8_t len)
self_test_battery_t anonymous_namespace{idle_e2e.cpp}::read_battery (void *, uint32_t now_ms, uint32_t)
bool anonymous_namespace{idle_e2e.cpp}::on_usb (void *)
self_test_reply_t anonymous_namespace{idle_e2e.cpp}::send_heartbeat (void *, const idle_heartbeat_t *hb, uint32_t)
idle_command_t anonymous_namespace{idle_e2e.cpp}::poll_command (void *)
void anonymous_namespace{idle_e2e.cpp}::set_state (flight_state_t to)
void anonymous_namespace{idle_e2e.cpp}::radio_task ()
void anonymous_namespace{idle_e2e.cpp}::ground_arm (World &w, uint32_t t, uint16_t seq)
emmc_status_t anonymous_namespace{idle_e2e.cpp}::no_card (void *, uint32_t *n)
emmc_status_t anonymous_namespace{idle_e2e.cpp}::no_io (void *, uint32_t, void *, uint32_t, uint32_t)
emmc_status_t anonymous_namespace{idle_e2e.cpp}::no_write (void *, uint32_t, const void *, uint32_t, uint32_t)
void anonymous_namespace{idle_e2e.cpp}::world_init (World &w)
void anonymous_namespace{idle_e2e.cpp}::run (World &w, uint32_t until)
void anonymous_namespace{idle_e2e.cpp}::note (const char *fmt,...)
unsigned anonymous_namespace{idle_e2e.cpp}::beats (const World &w, Beat *out, unsigned cap)
void anonymous_namespace{idle_e2e.cpp}::check_idle_heartbeat ()
void anonymous_namespace{idle_e2e.cpp}::check_idle_rx_while_asleep ()
void anonymous_namespace{idle_e2e.cpp}::check_idle_arm_wake ()
void anonymous_namespace{idle_e2e.cpp}::check_idle_usb ()
void anonymous_namespace{idle_e2e.cpp}::check_idle_tx_fail ()
void anonymous_namespace{idle_e2e.cpp}::check_idle_clock ()
int main (int argc, char **argv)

Variables

constexpr uint32_t anonymous_namespace{idle_e2e.cpp}::kTrueLsiHz = 30500
constexpr uint32_t anonymous_namespace{idle_e2e.cpp}::kBootMs = 5000
constexpr uint32_t anonymous_namespace{idle_e2e.cpp}::kCounts7V92 = 48853
constexpr uint8_t anonymous_namespace{idle_e2e.cpp}::kTargetId = 0x01
World * anonymous_namespace{idle_e2e.cpp}::W = nullptr
int anonymous_namespace{idle_e2e.cpp}::failed
char anonymous_namespace{idle_e2e.cpp}::detail [256]
const Check anonymous_namespace{idle_e2e.cpp}::checks []

Macro Definition Documentation

◆ EXPECT

#define EXPECT ( cond,
... )
Value:
do { \
if (!(cond)) { \
if (!failed) \
snprintf(detail, sizeof detail, __VA_ARGS__); \
failed = 1; \
} \
} while (0)
detail namespace with internal helper functions
Definition json.hpp:249
static void failed(sensors_device_t *d, int err, uint32_t now_us)

Definition at line 282 of file idle_e2e.cpp.

Referenced by anonymous_namespace{idle_e2e.cpp}::check_idle_arm_wake(), anonymous_namespace{idle_e2e.cpp}::check_idle_clock(), anonymous_namespace{idle_e2e.cpp}::check_idle_heartbeat(), anonymous_namespace{idle_e2e.cpp}::check_idle_rx_while_asleep(), anonymous_namespace{idle_e2e.cpp}::check_idle_tx_fail(), and anonymous_namespace{idle_e2e.cpp}::check_idle_usb().

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 478 of file idle_e2e.cpp.

References checks, and failed().