3 #if CONFIG_HAL_BOARD == HAL_BOARD_PX4 12 #include <uORB/uORB.h> 13 #include <uORB/topics/safety.h> 14 #include <systemlib/board_serial.h> 15 #include <drivers/drv_gpio.h> 53 v = fcntl(fd, F_GETFL, 0);
54 fcntl(fd, F_SETFL, v & ~O_NONBLOCK);
64 nsh_consolemain(0,
nullptr);
76 #if !HAL_HAVE_SAFETY_SWITCH 86 struct safety_s safety;
90 if (!safety.safety_switch_available) {
93 if (safety.safety_off) {
102 ts.tv_sec = time_utc_usec/1000000ULL;
103 ts.tv_nsec = (time_utc_usec % 1000000ULL) * 1000ULL;
104 clock_settime(CLOCK_REALTIME, &ts);
112 uint8_t serialid[12];
113 memset(serialid, 0,
sizeof(serialid));
115 #if defined(CONFIG_ARCH_BOARD_PX4FMU_V1) 116 const char *board_type =
"PX4v1";
117 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V3) 118 const char *board_type =
"PX4v3";
119 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) 120 const char *board_type =
"PX4v2";
121 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4) 122 const char *board_type =
"PX4v4";
123 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO) 124 const char *board_type =
"PX4v4PRO";
125 #elif defined(CONFIG_ARCH_BOARD_AEROFC_V1) 126 const char *board_type =
"AEROFCv1";
128 const char *board_type =
"PX4v?";
132 snprintf(buf, 40,
"%s %02X%02X%02X%02X %02X%02X%02X%02X %02X%02X%02X%02X",
134 (
unsigned)serialid[0], (
unsigned)serialid[1], (
unsigned)serialid[2], (
unsigned)serialid[3],
135 (
unsigned)serialid[4], (
unsigned)serialid[5], (
unsigned)serialid[6], (
unsigned)serialid[7],
136 (
unsigned)serialid[8], (
unsigned)serialid[9], (
unsigned)serialid[10],(
unsigned)serialid[11]);
145 return mallinfo().fordblks;
197 if (now -
_heater.last_update_ms < 1000) {
207 const float kI = 0.3f;
208 const float kP = 200.0f;
214 float err = target - current;
216 _heater.integrator += kI * err;
227 ioctl(
_heater.fd, GPIO_SET_HEATER_DUTY_CYCLE, (
unsigned)output);
249 #if !defined(CONFIG_ARCH_BOARD_PX4FMU_V1) 261 #if !defined(CONFIG_ARCH_BOARD_PX4FMU_V1) 272 #endif // CONFIG_HAL_BOARD == HAL_BOARD_PX4 int open(const char *pathname, int flags)
POSIX Open a file with integer mode flags.
bool run_debug_shell(AP_HAL::BetterStream *stream)
AP_HAL::UARTDriver * console
void get_board_serial(uint8_t *serialid)
bool _px4_thread_should_exit
void perf_end(perf_counter_t) override
void free_type(void *ptr, size_t size, AP_HAL::Util::Memory_Type mem_type) override
void * calloc(size_t nmemb, size_t size)
void set_imu_target_temp(int8_t *target) override
struct PX4::PX4Util::@109 _heater
void perf_count(perf_counter_t) override
virtual void printf(const char *,...) FMT_PRINTF(2
uint32_t available_memory(void) override
void * fat_dma_alloc(size_t)
perf_counter_t perf_alloc(perf_counter_type t, const char *name) override
int close(int fileno)
POSIX Close a file with fileno handel.
void perf_begin(perf_counter_t) override
enum safety_state safety_switch_state(void)
float constrain_float(const float amt, const float low, const float high)
void * malloc_type(size_t size, AP_HAL::Util::Memory_Type mem_type) override
int snprintf(char *str, size_t size, const char *format,...)
void fat_dma_free(void *, size_t)
bool get_system_id(char buf[40])
void set_imu_temp(float current) override
void set_system_clock(uint64_t time_utc_usec)