summaryrefslogtreecommitdiff
path: root/test/dump_eeprom.c
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2015-12-31 13:43:51 +0000
committerFreeArtMan <dos21h@gmail.com>2015-12-31 13:43:51 +0000
commit891ba007a455590ac544bbebd270ebe8d3417f2c (patch)
treee848f2c880d2bddc3b62c6090d88c966ab2b3d13 /test/dump_eeprom.c
parent2d6d67e07233cc6b085fd9eebdd6795602c75a0b (diff)
downloadradiola-891ba007a455590ac544bbebd270ebe8d3417f2c.tar.gz
radiola-891ba007a455590ac544bbebd270ebe8d3417f2c.zip
Add eeprom dump test
Diffstat (limited to 'test/dump_eeprom.c')
-rw-r--r--test/dump_eeprom.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/test/dump_eeprom.c b/test/dump_eeprom.c
new file mode 100644
index 0000000..b32e74e
--- /dev/null
+++ b/test/dump_eeprom.c
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+//rtlsdr
+#include <rtl-sdr.h>
+#include <hw/sdr.h>
+#include <hw/hw.h>
+#include <hw/hw_eeprom.h>
+
+int print_dump( uint8_t *data, uint16_t size )
+{
+ int i;
+ const int line_sz = 32;
+ for (i=0; i<size;i++)
+ {
+ printf("%02x ", data[i]);
+ if (i % 32 == 31)
+ {
+ printf("\n");
+ }
+ }
+ for (i=0; i<size;i++)
+ {
+ if ( isprint(data[i]) )
+ {
+ printf("%c", data[i]);
+ } else
+ {
+ printf(".");
+ }
+ if (i % 32 == 31)
+ {
+ printf("\n");
+ }
+ }
+ return 0;
+}
+
+int main( )
+{
+ int i;
+ uint32_t dev_num;
+ rtlsdr_dev_t *dev=NULL;
+ int ret;
+
+ const int buf_size = 256;
+ uint8_t buf[buf_size];
+
+ memset(buf, 0, buf_size );
+
+ dev_num = rtlsdr_get_device_count();
+ printf("Found %d device(s)\n", dev_num );
+
+ printf("List device names:\n");
+ for (i=0; i<dev_num; i++)
+ {
+ hw_open( &dev, i );
+
+ ret = dump_eeprom( dev, buf, buf_size );
+ if (ret != 0)
+ {
+ printf("Couldnt dump eeprom\n");
+ } else
+ {
+ printf("Dumped device %d\n",i);
+ }
+ print_dump( buf, buf_size );
+
+ hw_close( dev );
+ }
+
+ return 0;
+} \ No newline at end of file