mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 20:03:53 +08:00
* less TICI when not needed * fix process replay * move reading voltages into hw abstraction layer * Update selfdrive/hardware/tici/hardware.h Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * Update selfdrive/hardware/hw.h Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * Update selfdrive/hardware/base.h Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * rename init function * Update selfdrive/athena/athenad.py Co-authored-by: Robbe Derks <robbe.derks@gmail.com> * Update selfdrive/boardd/boardd.cc * Apply suggestions from code review * Update selfdrive/thermald/thermald.py * update ref * fix alert width if all cameras are bad * add ecam to test_loggerd * bump cereal * bump cereal Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Robbe Derks <robbe.derks@gmail.com>
52 lines
1.6 KiB
C++
52 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <array>
|
|
#include "common/mat.h"
|
|
#include "selfdrive/hardware/hw.h"
|
|
|
|
const int TRAJECTORY_SIZE = 33;
|
|
const int LAT_MPC_N = 16;
|
|
const int LON_MPC_N = 32;
|
|
const float MIN_DRAW_DISTANCE = 10.0;
|
|
const float MAX_DRAW_DISTANCE = 100.0;
|
|
|
|
template <typename T, size_t size>
|
|
constexpr std::array<T, size> build_idxs(float max_val) {
|
|
std::array<T, size> result{};
|
|
for (int i = 0; i < size; ++i) {
|
|
result[i] = max_val * ((i / (double)(size - 1)) * (i / (double)(size - 1)));
|
|
}
|
|
return result;
|
|
}
|
|
|
|
constexpr auto T_IDXS = build_idxs<double, TRAJECTORY_SIZE>(10.0);
|
|
constexpr auto T_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(10.0);
|
|
constexpr auto X_IDXS = build_idxs<double, TRAJECTORY_SIZE>(192.0);
|
|
constexpr auto X_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(192.0);
|
|
|
|
namespace tici_dm_crop {
|
|
const int x_offset = -72;
|
|
const int y_offset = -144;
|
|
const int width = 954;
|
|
};
|
|
|
|
const mat3 fcam_intrinsic_matrix = (mat3){{2648.0, 0.0, 1928.0 / 2,
|
|
0.0, 2648.0, 1208.0 / 2,
|
|
0.0, 0.0, 1.0}};
|
|
|
|
// tici ecam focal probably wrong? magnification is not consistent across frame
|
|
// Need to retrain model before this can be changed
|
|
const mat3 ecam_intrinsic_matrix = (mat3){{567.0, 0.0, 1928.0 / 2,
|
|
0.0, 567.0, 1208.0 / 2,
|
|
0.0, 0.0, 1.0}};
|
|
|
|
static inline mat3 get_model_yuv_transform(bool bayer = true) {
|
|
float db_s = 1.0;
|
|
const mat3 transform = (mat3){{
|
|
1.0, 0.0, 0.0,
|
|
0.0, 1.0, 0.0,
|
|
0.0, 0.0, 1.0
|
|
}};
|
|
return bayer ? transform_scale_buffer(transform, db_s) : transform;
|
|
}
|