Skip to content

Commit

Permalink
fix(hesai_hw_interface): change to synchronous requests to prevent un…
Browse files Browse the repository at this point in the history
…defined sensor behavior (#126)

* add initial support for ot128/128e4x

Signed-off-by: amc-nu <[email protected]>

* Initial support for QT128

Signed-off-by: amc-nu <[email protected]>

* hesai. automotive ptp support

Signed-off-by: amc-nu <[email protected]>

* nebula_decoder. hesai tokenize the calibration file to avoid errors at load

Signed-off-by: amc-nu <[email protected]>

* hesai_w. fix spellcheck

Signed-off-by: amc-nu <[email protected]>

* nebula_ros. add xml based component launcher

Signed-off-by: amc-nu <[email protected]>

* launch. launch typo

Signed-off-by: amc-nu <[email protected]>

* launch. match target container

Signed-off-by: amc-nu <[email protected]>

* hesai_hw. replace publisher with move operator

Signed-off-by: amc-nu <[email protected]>

* launch. add ptp support to all launch systems

Signed-off-by: amc-nu <[email protected]>

* launch. component_launch reset namespace

Signed-off-by: amc-nu <[email protected]>

* fix(ot128): update timing correction tables to latest datasheet version

* testing

* feat: add tsn settings for hesai (AT128 and OT128)

Signed-off-by: David Wong <[email protected]>

* fix(hesai_hw_interface): remove obsolete setup_sensor mutex

* fix(hesai_hw_interface): validate and rewrite OT128's PTP mode in PTC request

* refactor(hesai_hw_interface): remove local_tcp_driver-versions of functions

* fix: special handling for OT128 needing a different definition for PTP profile

Signed-off-by: David Wong <[email protected]>

* fix: move defaults in ptp config functions to header files

Signed-off-by: David Wong <[email protected]>

* fix: correctly assign header size in PTP config

Signed-off-by: David Wong <[email protected]>

* fix: spelling miss

Signed-off-by: David Wong <[email protected]>

* fix: [reword later] somehow this works

* fix(hesai_hw_interface): tcp communication works with dummy server now

* fix(qt128): correctly send PTP switch_mode

* fix(ot128): revert timing correction to old datasheet

* chore(scripts): delete defunct debug script

* fix(hesai_hw_interface): remove excessive debug logging

* fix: rollback erroneous changes in velodyne launch

* fix(hesai_hw_interface): remove unused params/variables

* style: fix weird spacings

* fix: spelling, whitespace

---------

Signed-off-by: amc-nu <[email protected]>
Signed-off-by: David Wong <[email protected]>
Co-authored-by: amc-nu <[email protected]>
Co-authored-by: Abraham Monrroy Cano <[email protected]>
Co-authored-by: David Wong <[email protected]>
Co-authored-by: Max SCHMELLER <[email protected]>
  • Loading branch information
5 people authored Mar 14, 2024
1 parent 490069e commit 99cb035
Show file tree
Hide file tree
Showing 8 changed files with 876 additions and 3,382 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ struct Packet128E3X : public PacketBase<2, 128, 2, 100>

} // namespace hesai_packet

// FIXME(mojomex) support high resolution mode
class Pandar128E3X : public HesaiSensor<hesai_packet::Packet128E3X>
{
private:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@ typedef Packet128E3X Packet128E4X;

} // namespace hesai_packet

// FIXME(mojomex) support high resolution mode
// FIXME(mojomex):
// The OT128 datasheet has entirely different numbers (and more azimuth states).
// With the current sensor version, the numbers from the new datasheet are incorrect
// (clouds do not sync to ToS but ToS+.052s)
class Pandar128E4X : public HesaiSensor<hesai_packet::Packet128E4X>
{
private:
enum OperationalState { HIGH_RESOLUTION = 0, STANDARD = 1 };
enum OperationalState { HIGH_RESOLUTION = 0, STANDARD = 1 };

static constexpr int firing_time_offset_static_ns_[128] = {
49758, 43224, 36690, 30156, 21980, 15446, 8912, 2378, 49758, 43224, 36690, 30156, 2378,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,40 +235,30 @@ struct HesaiInventory
switch (model) {
case 0:
return "Pandar40P";
break;
case 2:
return "Pandar64";
break;
case 3:
return "Pandar128";
break;
case 15:
return "PandarQT";
break;
case 17:
return "Pandar40M";
break;
case 20:
return "PandarMind(PM64)";
break;
case 25:
return "PandarXT32";
break;
case 26:
return "PandarXT16";
break;
case 32:
return "QT128C2X";
break;
case 38:
return "PandarXT32M";
break;
case 42:
return "OT128";
case 48:
return "PandarAT128";
break;
default:
return "Unknown(" + std::to_string(model) + ")";
break;
}
}
};
Expand Down

Large diffs are not rendered by default.

Loading

0 comments on commit 99cb035

Please sign in to comment.