VTD 车辆灯光定义与 53-2017国标 车身灯光定义

1.53-2017国标车身灯光定义

2.VTD 灯光定义

/** @addtogroup RDB_VEHICLE_LIGHT
 *  ------ light states ------
 *  @{
 */
#define RDB_VEHICLE_LIGHT_OFF                    0x00000000  /**< all lights OFF                                          @version 0x0100 */
#define RDB_VEHICLE_LIGHT_PARK                   0x00000001  /**< front and rear lights are ON                            @version 0x0100 */
#define RDB_VEHICLE_LIGHT_LOW_BEAM               0x00000002  /**< front and rear lights are ON                            @version 0x0100 */
#define RDB_VEHICLE_LIGHT_HIGH_BEAM              0x00000004  /**< front lights are ON                                     @version 0x0100 */
#define RDB_VEHICLE_LIGHT_REAR_BRAKE             0x00000008  /**< only rear lights are ON                                 @version 0x0100 */
#define RDB_VEHICLE_LIGHT_REAR_DRIVE             0x00000010  /**< only rear lights are ON                                 @version 0x0100 */
#define RDB_VEHICLE_LIGHT_INDICATOR_L            0x00000020  /**< left indicator lights are ON                            @version 0x0100 */
#define RDB_VEHICLE_LIGHT_INDICATOR_R            0x00000040  /**< right indicator lights are ON                           @version 0x0100 */
#define RDB_VEHICLE_LIGHT_FLASH                  0x00000080  /**< special light for police forces etc.                    @version 0x0100 */
#define RDB_VEHICLE_LIGHT_FRONT_FOG              0x00000100  /**< only front lights are ON                                @version 0x0100 */
#define RDB_VEHICLE_LIGHT_REAR_FOG               0x00000200  /**< only rear lights are ON                                 @version 0x0100 */
#define RDB_VEHICLE_LIGHT_VIRES1                 0x00000400  /**< used internally by VIRES                                @version 0x0100 */
#define RDB_VEHICLE_LIGHT_DRL                    0x00000800  /**< daytime running light                                   @version 0x0100 */
#define RDB_VEHICLE_LIGHT_DRL_LEFT_LOW           0x00001000  /**< dimmed state of left front DRLs                         @version 0x0100 */
#define RDB_VEHICLE_LIGHT_DRL_RIGHT_LOW          0x00002000  /**< dimmed state of right front DRLs                        @version 0x0100 */
#define RDB_VEHICLE_LIGHT_EMERGENCY              0x00004000  /**< emergency indicator lights                              @version 0x0100 */
#define RDB_VEHICLE_LIGHT_INDICATOR_LAMP_ON      0x00008000  /**< true if an indicator lamp is                            @version 0x0111 */
#define RDB_VEHICLE_LIGHT_FORCE                  0x00010000  /**< if received via RDB, RDB will be the only source for the light mask  @version 0x0111 */
/** @} */

3.RDB尝试打印灯光

void printLight(RDB_VEHICLE_SYSTEMS_t item)
{
    printf("id:%d light: %#23x \n",item.playerId , item.lightMask);
}

结果与part1一致,其中?表示不关心的位置

制动
0x?? ?? ?8 

左转
0x?? ?? 2? 

右转
0x?? ?? 4? 

双闪 
0x?? ?? 6? 

前雾灯
0x?? ?1 ?? 

后雾灯
0x?? ?2 ?? 

紧急制动灯
0x?? 4? ??

4.获取相应灯色 

#左转
if (item->lightMask % 256 / 16 == 2)

#右转
if (item->lightMask % 256 / 16 == 4)
   
#双闪
if (item->lightMask % 256 / 16 == 6)
 
#雾灯
if (item->lightMask % 4096 / 256 == 1)
   
#紧急制动
if (item->lightMask % 98869 / 4096 == 4)
   

猜你喜欢

转载自blog.csdn.net/qq_41854291/article/details/108099898