|
@@ -98,6 +98,24 @@ static const u8 SET_PORT_DIR_REQUEST[] = {0x00, 0x01, 0x00, 0x18,
|
|
|
0x00, 0x00, 0x05, 0x00,
|
|
|
0x00, 0x00, 0x00, 0x00};
|
|
|
|
|
|
+/* Counter request packets */
|
|
|
+static const u8 START_COUNTER_REQUEST[] = {0x00, 0x01, 0x00, 0x0C,
|
|
|
+ 0x00, 0x08, 0x01, 0x09,
|
|
|
+ 0x02, 0x20, 0x00, 0x00};
|
|
|
+
|
|
|
+static const u8 STOP_COUNTER_REQUEST[] = {0x00, 0x01, 0x00, 0x0C,
|
|
|
+ 0x00, 0x08, 0x01, 0x0C,
|
|
|
+ 0x02, 0x20, 0x00, 0x00};
|
|
|
+
|
|
|
+static const u8 READ_COUNTER_REQUEST[] = {0x00, 0x01, 0x00, 0x0C,
|
|
|
+ 0x00, 0x08, 0x01, 0x0E,
|
|
|
+ 0x02, 0x20, 0x00, 0x00};
|
|
|
+
|
|
|
+static const u8 WRITE_COUNTER_REQUEST[] = {0x00, 0x01, 0x00, 0x10,
|
|
|
+ 0x00, 0x0C, 0x01, 0x0F,
|
|
|
+ 0x02, 0x20, 0x00, 0x00,
|
|
|
+ 0x00, 0x00, 0x00, 0x00};
|
|
|
+
|
|
|
/* Response packets */
|
|
|
static const u8 GENERIC_RESPONSE[] = {0x00, 0x01, 0x00, 0x0C,
|
|
|
0x00, 0x08, 0x01, 0x00,
|
|
@@ -108,10 +126,19 @@ static const u8 READ_PORT_RESPONSE[] = {0x00, 0x01, 0x00, 0x10,
|
|
|
0x00, 0x00, 0x00, 0x02,
|
|
|
0x00, 0x03, 0x00, 0x00};
|
|
|
|
|
|
+static const u8 READ_COUNTER_RESPONSE[] = {0x00, 0x01, 0x00, 0x10,
|
|
|
+ 0x00, 0x0C, 0x01, 0x00,
|
|
|
+ 0x00, 0x00, 0x00, 0x02,
|
|
|
+ 0x00, 0x00, 0x00, 0x00};
|
|
|
+
|
|
|
enum commands {
|
|
|
READ_PORT,
|
|
|
WRITE_PORT,
|
|
|
- SET_PORT_DIR
|
|
|
+ SET_PORT_DIR,
|
|
|
+ START_COUNTER,
|
|
|
+ STOP_COUNTER,
|
|
|
+ READ_COUNTER,
|
|
|
+ WRITE_COUNTER
|
|
|
};
|
|
|
|
|
|
struct ni6501_private {
|