#include "robot_sensor_msgs/BatteryState.h"
#include "robot_sensor_msgs/JoyFeedbackArray.h"
#include "robot_sensor_msgs/PointCloud2.h"
#include <iostream>

int main()
{
  // getParams();
  robot_sensor_msgs::BatteryState battery;

//   battery.header = robot_std_msgs::Header::now("battery_frame");
//   battery.voltage = 12.5f;
//   battery.current = -1.2f;
//   battery.percentage = 0.85f;
//   battery.power_supply_status = robot_sensor_msgs::BatteryState::POWER_SUPPLY_STATUS_DISCHARGING;

//   battery.cell_voltage = {4.15f, 4.18f, 4.12f};
//   battery.location = "slot_1";
//   battery.serial_number = "SN12345";

//   std::cout << "Battery header timestamp: " << battery.header.stamp << "\n";
//   std::cout << "Battery voltage: " << battery.voltage << " V\n";
//   std::cout << "Status: " << static_cast<int>(battery.power_supply_status) << "\n";
//   std::cout << "Serial Number: " << battery.serial_number << "\n";

  robot_sensor_msgs::JoyFeedbackArray feedback_array;
  feedback_array.array.push_back(robot_sensor_msgs::JoyFeedback{robot_sensor_msgs::JoyFeedback::TYPE_BUZZER, 0, 5000.0f});

  std::cout << "First feedback type: " << static_cast<int>(feedback_array.array[0].type) << "\n";
  std::cout << "First feedback intensity: " << feedback_array.array[0].intensity << "\n";

  robot_sensor_msgs::PointCloud2 cloud;
//   cloud.header = robot_std_msgs::Header::now("pointcloud_frame");
//   cloud.width = 100;
//   cloud.height = 1;

//   std::cout << "PointCloud2 header frame_id: " << cloud.header.frame_id << "\n";
//   std::cout << "PointCloud2 header timestamp: " << cloud.header.stamp << "\n";
//   std::cout << "PointCloud2 width: " << cloud.width << "\n";
//   std::cout << "PointCloud2 height: " << cloud.height << "\n";

  return 0;
}
