Browse Source

init futrebit2 driver

jstefanop 8 years ago
parent
commit
54120b08be
1 changed files with 175 additions and 0 deletions
  1. 175 0
      bwltc-commands.h

+ 175 - 0
bwltc-commands.h

@@ -0,0 +1,175 @@
+/*auto_address*/
+static const unsigned char *cmd_auto_address[]={
+	(unsigned char []) {0x09,0x3C, 0xFF, 0xF8, 0x78, 0x10, 0x00, 0x00, 0xC0, 0xC3},
+	NULL
+};
+
+
+static const unsigned char *cmd_set_384M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0xF4, 0x00, 0xFF},
+	NULL
+};
+static const unsigned char *cmd_set_450M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0xB4, 0x00, 0xDE},
+	NULL
+};
+static const unsigned char *cmd_set_480M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0xB4, 0x00, 0xEF},
+	NULL
+};
+static const unsigned char *cmd_set_540M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x94, 0x00, 0xE1},
+	NULL
+};
+static const unsigned char *cmd_set_576M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xBF},
+	NULL
+};
+static const unsigned char *cmd_set_600M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF,0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x94, 0x00, 0xFA},
+	NULL
+};
+static const unsigned char *cmd_set_612M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xcb},
+	NULL
+};
+static const unsigned char *cmd_set_625M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xcf},
+	NULL
+};
+static const unsigned char *cmd_set_636M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xd3},
+	NULL
+};
+static const unsigned char *cmd_set_648M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xd7},
+	NULL
+};
+static const unsigned char *cmd_set_660M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xdb},
+	NULL
+};
+static const unsigned char *cmd_set_672M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xDF},
+	NULL
+};
+static const unsigned char *cmd_set_684M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xe3},
+	NULL
+};
+static const unsigned char *cmd_set_700M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xE7},
+	NULL
+};
+static const unsigned char *cmd_set_720M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x54, 0x00, 0xB3},
+	NULL
+};
+static const unsigned char *cmd_set_744M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xf7},
+	NULL
+};
+static const unsigned char *cmd_set_756M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xfb},
+	NULL
+};
+static const unsigned char *cmd_set_768M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xdf, 0xb7, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x74, 0x00, 0xff},
+	NULL
+};
+static const unsigned char *cmd_set_800M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x54, 0x00, 0xC7},
+	NULL
+};
+static const unsigned char *cmd_set_912M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xCF, 0xB3, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x34, 0x00, 0x97},
+	NULL
+};
+
+static const unsigned char *cmd_set_1020M[]={
+	(unsigned char []) {0x08, 0x3F, 0xFF, 0xF8, 0x30, 0xDF, 0xB5, 0x00, 0x00},
+	(unsigned char []) {0x08, 0x3C, 0xFF, 0xF8, 0x00, 0x05, 0x34, 0x00, 0xA9},
+	NULL
+};
+
+
+#define ARRAY_LEN 21
+struct frequency
+{
+	int freq;
+	unsigned char *cmd;
+}fre_array[ARRAY_LEN]={{384, cmd_set_384M},
+				{450, cmd_set_450M},
+				{480, cmd_set_480M},
+				{540, cmd_set_540M},
+				{576, cmd_set_576M},
+				{600, cmd_set_600M},
+				{612, cmd_set_612M},
+				{625, cmd_set_625M},
+				{636, cmd_set_636M},
+				{648, cmd_set_648M},
+				{660, cmd_set_660M},
+				{672, cmd_set_672M},
+				{684, cmd_set_684M},
+				{700, cmd_set_700M},
+				{720, cmd_set_720M},
+				{744, cmd_set_744M},
+				{756, cmd_set_756M},
+				{768, cmd_set_768M},
+				{800, cmd_set_800M},
+				{912, cmd_set_912M},
+				{1020,cmd_set_1020M}};
+
+
+/* reset gcp */
+static const unsigned char *gcp_cmd_reset[] = {
+	//(unsigned char[]) {0x10, 0x3c, 0xff, 0xc0, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00},
+	(unsigned char[]) {0x09, 0x3c,0xff, 0xf8, 0x1e,0x02,0x00,0x00,0x00,0xc3}, //reset core
+	(unsigned char[]) {0x09, 0x3c,0xff, 0xf8, 0x1e,0x03,0x00,0x00,0x00,0xc3}, //reset core
+
+	NULL
+};
+
+/* commands for single LTC mode */
+static const unsigned char *single_cmd_init[] = {
+	/* set # of chips to 5 */
+	(unsigned char[]) {0x10, 0x3c, 0xff, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00},
+	/* disable btc cores */
+	(unsigned char[]) {0x18, 0x3c, 0xff, 0xef, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+	/* enable ltc */
+	(unsigned char[]) {0x08, 0x3c, 0xff, 0xef, 0x30, 0x20, 0x00, 0x00, 0x00},
+	NULL
+};
+
+static const unsigned char *single_cmd_reset[] = {
+	/* reset ltc calculation unit */
+	(unsigned char[]) {0x08, 0x3c, 0xff, 0x1f, 0x28, 0x16, 0x00, 0x00, 0x00},
+	/* clear reset */
+	(unsigned char[]) {0x08, 0x3c, 0xff, 0x1f, 0x28, 0x17, 0x00, 0x00, 0x00},
+	NULL
+};
+
+static const unsigned char *firmware_request_cmd[] = {
+	(unsigned char[]) {0x10, 0x3c, 0xff, 0xc0, 0x00, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00},
+	NULL
+};