From c8cf2b8fab78a6c2915c16a0c4461bd836478bd6 Mon Sep 17 00:00:00 2001 From: Sangjung Woo Date: Thu, 6 Jul 2017 14:38:19 +0900 Subject: [PATCH] bugfix about AirDistribution Because of the wrong type of AirDistribution, related APIs fails to get/set the value. This patch fixes the bug. Change-Id: I5c38335560d64dc1abc43738cd661f8cfd7b1d88 Signed-off-by: Sangjung Woo --- lib/client/libamb-objects.h | 12 ++++++------ lib/client/test/test.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/lib/client/libamb-objects.h b/lib/client/libamb-objects.h index c4e8bbf..b6d2a4e 100644 --- a/lib/client/libamb-objects.h +++ b/lib/client/libamb-objects.h @@ -202,7 +202,7 @@ CAN_OBJECT(CidWatchDD, guchar, NULL); * CANID: 1026 (0x402) */ CAN_OBJECT(CidACOnOff, gboolean, NULL); -CAN_OBJECT(AirDistributionCID, guchar, NULL); +CAN_OBJECT(AirDistributionCID, guint16, NULL); CAN_OBJECT(LeftTemperatureCID, gdouble, NULL); CAN_OBJECT(LeftAirflowCID, guint16, NULL); CAN_OBJECT(RightTemperatureCID, gdouble, NULL); @@ -244,7 +244,7 @@ CAN_OBJECT(TRIP_B_EllapsedTime, guint16, NULL); * Left Knob Control * CANID: 1793 (0x701) */ -CAN_OBJECT(AirDistributionLeftKnob, guchar, NULL); +CAN_OBJECT(AirDistributionLeftKnob, guint16, NULL); CAN_OBJECT(LeftTemperatureLeftKnob, gdouble, NULL); CAN_OBJECT(LeftAirflowLeftKnob, guint16, NULL); CAN_OBJECT(MediaVolumeLeftKnob, guint16, NULL); @@ -253,7 +253,7 @@ CAN_OBJECT(MediaVolumeLeftKnob, guint16, NULL); * Right Knob Control * CANID: 1794 (0x702) */ -CAN_OBJECT(AirDistributionRightKnob, guchar, NULL); +CAN_OBJECT(AirDistributionRightKnob, guint16, NULL); CAN_OBJECT(RightTemperatureRightKnob, gdouble, NULL); CAN_OBJECT(RightAirflowLeftKnob, guint16, NULL); CAN_OBJECT(MediaVolumeRightKnob, guint16, NULL); @@ -266,7 +266,7 @@ CAN_OBJECT_WRITABLE(CidCheckSeatHeaterL, guint16, NULL); CAN_OBJECT_WRITABLE(CidCheckSeatHeaterR, guint16, NULL); CAN_OBJECT_WRITABLE(CidCheckSeatCoolerL, guint16, NULL); CAN_OBJECT_WRITABLE(CidCheckSeatCoolerR, guint16, NULL); -CAN_OBJECT_WRITABLE(AirDistributionCID, guint16, NULL); +CAN_OBJECT_WRITABLE(AirDistributionCID, guint16, NULL); CAN_OBJECT_WRITABLE(LeftTemperatureCID, gdouble, NULL); CAN_OBJECT_WRITABLE(LeftAirflowCID, guint16, NULL); CAN_OBJECT_WRITABLE(RightTemperatureCID, gdouble, NULL); @@ -292,7 +292,7 @@ CAN_OBJECT_WRITABLE(MediaVolumeCID, guint16, NULL); * Writable AMB Object * Left Knob Control */ -CAN_OBJECT_WRITABLE(AirDistributionLeftKnob, guchar, NULL); +CAN_OBJECT_WRITABLE(AirDistributionLeftKnob, guint16, NULL); CAN_OBJECT_WRITABLE(LeftTemperatureLeftKnob, gdouble, NULL); CAN_OBJECT_WRITABLE(LeftAirflowLeftKnob, guint16, NULL); CAN_OBJECT_WRITABLE(MediaVolumeLeftKnob, guint16, NULL); @@ -301,7 +301,7 @@ CAN_OBJECT_WRITABLE(MediaVolumeLeftKnob, guint16, NULL); * Writable AMB Object * Right Knob Control */ -CAN_OBJECT_WRITABLE(AirDistributionRightKnob, guchar, NULL); +CAN_OBJECT_WRITABLE(AirDistributionRightKnob, guint16, NULL); CAN_OBJECT_WRITABLE(RightTemperatureRightKnob, gdouble, NULL); CAN_OBJECT_WRITABLE(RightAirflowLeftKnob, guint16, NULL); CAN_OBJECT_WRITABLE(MediaVolumeRightKnob, guint16, NULL); diff --git a/lib/client/test/test.c b/lib/client/test/test.c index 3f5219a..735f230 100644 --- a/lib/client/test/test.c +++ b/lib/client/test/test.c @@ -449,8 +449,39 @@ static void test_set_CheckSeatHeaterL(int value) test_CheckSeatHeaterL(); } +void test_AirDistribution() +{ + struct AirDistributionCIDType *p; + int ret = amb_get_AirDistributionCID_with_zone(&p, 0); + if (ret != 0) { + fprintf(stderr, "Fail to %s\n", __func__); + return ; + } + fprintf(stderr, "Zone: %d\n", p->Zone); + fprintf(stderr, "Value: %d\n", p->Value); + fprintf(stderr, "ValueSequence: %d\n", p->ValueSequence); + fprintf(stderr, "Time: %f\n", p->Time); + + amb_release_data(p); + return ; +} + +static void test_set_AirDistribution(int value) +{ + int rc; + + rc = amb_set_AirDistributionCID_with_zone(value, 0); + if (rc < 0) { + fprintf(stderr, "Fail to amb_set_CheckSeatHeaterL_with_zone(): %d\n", rc); + return ; + } + + test_AirDistribution(); +} + int main() { + test_set_AirDistribution(2); test_set_CheckSeatHeaterL(1); test_set_CheckSeatHeaterL(2); -- 2.7.4