obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
37 lines
883 B
C++
37 lines
883 B
C++
#pragma once
|
|
|
|
#include <vanetza/units/angle.hpp>
|
|
#include <vanetza/units/length.hpp>
|
|
|
|
namespace vanetza
|
|
{
|
|
namespace geodesy
|
|
{
|
|
|
|
/**
|
|
* Cartesian position.
|
|
* Point in an ENU (East-North-Up) coordinate system, units in meters.
|
|
*/
|
|
struct CartesianPosition
|
|
{
|
|
CartesianPosition() : x(0.0 * units::si::meter), y(0.0 * units::si::meter) {}
|
|
CartesianPosition(units::Length x_, units::Length y_) : x(x_), y(y_) {}
|
|
units::Length x;
|
|
units::Length y;
|
|
};
|
|
|
|
CartesianPosition operator-(const CartesianPosition&, const CartesianPosition&);
|
|
|
|
struct GeodeticPosition
|
|
{
|
|
GeodeticPosition() :
|
|
latitude(0.0 * units::degree), longitude(0.0 * units::degree) {}
|
|
GeodeticPosition(units::GeoAngle lat, units::GeoAngle lon) :
|
|
latitude(lat), longitude(lon) {}
|
|
units::GeoAngle latitude;
|
|
units::GeoAngle longitude;
|
|
};
|
|
|
|
} // namespace geodesy
|
|
} // namespace vanetza
|