428 lines
22 KiB
C
428 lines
22 KiB
C
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
|
|
/*
|
|
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _AW21036B_SEI_H_
|
|
#define _AW21036B_SEI_H_
|
|
|
|
#include <linux/gpio/consumer.h>
|
|
|
|
#define MAX_I2C_BUFFER_SIZE 65536
|
|
|
|
#define AW21036_ID 0x18
|
|
|
|
struct meson_aw21036_io {
|
|
unsigned int r_io;
|
|
unsigned int g_io;
|
|
unsigned int b_io;
|
|
};
|
|
|
|
struct meson_aw21036_colors {
|
|
unsigned char red;
|
|
unsigned char green;
|
|
unsigned char blue;
|
|
};
|
|
|
|
struct meson_aw21036 {
|
|
//struct device *dev;
|
|
struct i2c_client *i2c;
|
|
struct device *dev;
|
|
struct led_classdev cdev;
|
|
struct work_struct brightness_work;
|
|
|
|
struct work_struct leds_work;
|
|
struct workqueue_struct *leds_wq;
|
|
|
|
struct gpio_desc *reset_gpiod;
|
|
|
|
unsigned char chipid;
|
|
|
|
int imax;
|
|
|
|
int platform;
|
|
|
|
struct meson_aw21036_io *io;
|
|
struct meson_aw21036_colors *colors;
|
|
|
|
int led_counts;
|
|
|
|
int g_time_value;
|
|
};
|
|
|
|
//global variables declaration
|
|
struct meson_aw21036 *aw21036;
|
|
|
|
// function declaration
|
|
static void meson_aw21036_set_colors(unsigned int *colors, unsigned int counts);
|
|
static int aw21036_i2c_write(struct meson_aw21036 *aw21036, unsigned char reg_addr, unsigned char reg_data);
|
|
static int aw21036_hw_reset(struct meson_aw21036 *aw21036);
|
|
|
|
static int *all_data[16] = {0};
|
|
static int length_data[16] = {0};
|
|
|
|
static unsigned int state_mode=0;
|
|
|
|
/*2:S905X2 SEI520, 3:S905X3 SEI600TID; 4:S905X3 SEI610/SEI610F, 6:SEI610FPT*/
|
|
static unsigned int platform_id = 0;
|
|
static unsigned int hwen_id = 3;
|
|
static unsigned int __maybe_unused isel_id = 3;
|
|
|
|
static int driver_init_flag = 0; // driver init flag, 0: not init, 1: init
|
|
static unsigned int ledr_value = 0, ledg_value = 0, ledb_value = 0;
|
|
static u8 led_value[4] = {0};
|
|
|
|
static int time_val = 0, cycles_val = 0, instruct_val = 0;
|
|
|
|
static u8 tmp_w[128][37] = {0}; //length_data
|
|
static unsigned int tmp_color[13] = {};
|
|
|
|
/*
|
|
Iout = K * Vrext/Rext * GCC/255 * WB/255 * COLn/255 * BRn/255
|
|
GCC : 8bit, default 0; user set 0 to colse all leds, default set 0xff when init
|
|
WB : 8bit, default 0xff;
|
|
BRn : user set for brightness
|
|
COLn: default set 0xff;
|
|
*/
|
|
static u8 tmp_col[37] = {\
|
|
0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff,\
|
|
0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff,\
|
|
0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff,\
|
|
};
|
|
|
|
static u8 __maybe_unused tmp_ledon[10] = {
|
|
0x68, 0xdd, 0xf5, 0x68, 0xdd, 0xf5, 0x68, 0xdd, 0xf5,
|
|
};
|
|
|
|
static u8 __maybe_unused tmp_ledoff[10] = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
//#define NO_DIRECTION_CORRECT
|
|
|
|
//default mode:OFF all leds
|
|
static int data_mode0[] = {\
|
|
0x64,0x01,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
};
|
|
|
|
//Mode One:White light flashes 5 times,interval:100 milliseconds;loop 1 time.
|
|
//time_val: 0x64,cycles_val: 0x01,
|
|
//Fully on value is 192. When flashing, value 128. Off - On - Off - On - Off.
|
|
#if 0
|
|
//SEI610F/SEI520
|
|
static int data_mode1[] = {\
|
|
0x64,0x01,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0,
|
|
0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0, 0xC0,0xC0,0xC0,
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80,
|
|
0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80, 0x80,0x80,0x80,
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
}
|
|
#else
|
|
//SEI610F/SEI520
|
|
static int data_mode1[] = {\
|
|
0xC8,0x00,\
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
};
|
|
#endif
|
|
|
|
//Mode TWO:White running lights; Time interval: 100ms; Infinite loop
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
//Very bright - Slightly bright - Slightly bright - Slightly bright - Very bright
|
|
#ifdef NO_DIRECTION_CORRECT
|
|
static int data_mode2[] = {
|
|
0xC8,0x00,\
|
|
0xC0,0xC0,0xC0, 0x10,0x10,0x10, 0x10,0x10,0x10, 0x10,0x10,0x10, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x10,0x10, 0xC0,0xC0,0xC0, 0x10,0x10,0x10, 0x10,0x10,0x10, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x10,0x10, 0x10,0x10,0x10, 0xC0,0xC0,0xC0, 0x10,0x10,0x10, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
|
|
0x10,0x10,0x10, 0x10,0x10,0x10, 0x10,0x10,0x10, 0xC0,0xC0,0xC0, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
};
|
|
#else
|
|
static int data_mode2[] = {
|
|
0x4B,0x00,\
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
};
|
|
#endif
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
#if 1
|
|
static int data_mode3[] = {
|
|
0x4B,0x00,\
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x00,0x00,0x00,
|
|
0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x00,0x00,0x00,
|
|
0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x00,0x00,0x00,
|
|
0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x00,0x00,0x00,
|
|
0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x00,0x00,0x00,
|
|
0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x00,0x00,0x00,
|
|
0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x00,0x00,0x00,
|
|
0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x00,0x00,0x00,
|
|
0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0x00,0x00,0x00,
|
|
0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,
|
|
0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0x00,0x00,0x00,
|
|
0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0xb0,0x2c,0x4b, 0x00,0x00,0x00,
|
|
0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x00,0x00,0x00,
|
|
0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x90,0x24,0x3f, 0x00,0x00,0x00,
|
|
0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x00,0x00,0x00,
|
|
0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x60,0x18,0x2a, 0x00,0x00,0x00,
|
|
0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x00,0x00,0x00,
|
|
0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x30,0x0c,0x15, 0x00,0x00,0x00,
|
|
0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x00,0x00,0x00,
|
|
0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x20,0x08,0x0e, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x10,0x04,0x07, 0x00,0x00,0x00,
|
|
};
|
|
#else
|
|
static int data_mode3[] = {
|
|
0x32,0x00,\
|
|
0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x27,0x27,0x27, 0x27,0x27,0x27, 0x27,0x27,0x27, 0x27,0x27,0x27, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x27,0x27,0x27, 0x27,0x27,0x27, 0x27,0x27,0x27, 0x27,0x27,0x27, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x21,0x21,0x21, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x15,0x15,0x15, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x0F,0x0F,0x0F, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x0B,0x0B,0x0B, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x09,0x09,0x09, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x07,0x07,0x07, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x05,0x05,0x05, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x03,0x03,0x03, 0x00,0x00,0x00, 0x00,0x00,0x00,
|
|
};
|
|
#endif
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode4[] = {
|
|
0x64,0x01,\
|
|
0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0xd0,0xd0,0xd0, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode5[] = {
|
|
0x64,0x01,\
|
|
0xd0,0x45,0x00, 0xd0,0x45,0x00, 0xd0,0x45,0x00, 0xd0,0x45,0x00, 0xd0,0x45,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x01,
|
|
#ifdef NO_DIRECTION_CORRECT
|
|
static int data_mode6[] = {
|
|
0xC8,0x01,\
|
|
0x00,0x00,0x80, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x80, 0x80,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x80, 0x80,0x00,0xFF, 0x8C,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x80, 0x80,0x00,0xFF, 0x8C,0x00,0x00, 0x80,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x80, 0x80,0x00,0xFF, 0x8C,0x00,0x00, 0x80,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x80, 0x80,0x00,0xFF, 0x8C,0x00,0x00, 0x80,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
};
|
|
#else
|
|
static int data_mode6[] = {
|
|
0xE8,0x01,\
|
|
0x00,0x00,0xd0, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0xd0,0x45,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0xd0,0x45,0x00, 0x00,0xd0,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0xd0,0x45,0x00, 0x00,0xd0,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0xd0,0x45,0x00, 0x00,0xd0,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0xd0, 0xd0,0x00,0x00, 0xd0,0x45,0x00, 0x00,0xd0,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
};
|
|
#endif
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode7[] = {
|
|
0x64,0x01,\
|
|
0x00,0x00,0x00, 0x80,0x00,0x00, 0x80,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode8[] = {
|
|
0x64,0x01,\
|
|
0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00,\
|
|
0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00, 0xF5,0x00,0x00,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode9[] = {
|
|
0x64,0x01,\
|
|
0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00,\
|
|
0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00, 0x00,0xF5,0x00,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode10[] = {
|
|
0x64,0x01,\
|
|
0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5,\
|
|
0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5, 0x00,0x00,0xF5,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode11[] = {
|
|
0x64,0x01,\
|
|
0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5,\
|
|
0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5, 0xF5,0xF5,0xF5,\
|
|
};
|
|
|
|
//time_val: 0x64,cycles_val: 0x00,
|
|
static int data_mode12[] = {
|
|
0x64,0x01,\
|
|
0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20,\
|
|
0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20, 0x00,0x30,0x20,\
|
|
};
|
|
#endif
|