1222322Sadrian
2222322Sadrian/*
3222322Sadrian * Copyright (c) 2010-2011 Adrian Chadd, Xenion Pty Ltd.
4222322Sadrian *
5222322Sadrian * Redistribution and use in source and binary forms, with or without
6222322Sadrian * modification, are permitted provided that the following conditions
7222322Sadrian * are met:
8222322Sadrian * 1. Redistributions of source code must retain the above copyright
9222322Sadrian *    notice, this list of conditions and the following disclaimer.
10222322Sadrian * 2. Redistributions in binary form must reproduce the above copyright
11222322Sadrian *    notice, this list of conditions and the following disclaimer in the
12222322Sadrian *    documentation and/or other materials provided with the distribution.
13222322Sadrian *
14222322Sadrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15222322Sadrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16222322Sadrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17222322Sadrian * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18222322Sadrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19222322Sadrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20222322Sadrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21222322Sadrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22222322Sadrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23222322Sadrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24222322Sadrian * SUCH DAMAGE.
25222322Sadrian *
26222322Sadrian * $FreeBSD$
27222322Sadrian */
28222322Sadrian
29222322Sadrian#include <stdio.h>
30222322Sadrian#include <stdlib.h>
31222322Sadrian#include <unistd.h>
32222322Sadrian#include <string.h>
33222322Sadrian#include <sys/types.h>
34222322Sadrian#include <err.h>
35222322Sadrian
36222322Sadrian#include "eeprom.h"
37222322Sadrian#include "9287.h"
38222322Sadrian
39222322Sadrianvoid
40222322Sadrianusage(char *argv[])
41222322Sadrian{
42222322Sadrian	printf("Usage: %s <eeprom dump file>\n", argv[0]);
43222322Sadrian	printf("\n");
44222322Sadrian	printf("  The eeprom dump file is a text hexdump of an EEPROM.\n");
45222322Sadrian	printf("  The lines must be formatted as follows:\n");
46222322Sadrian	printf("  0xAAAA: 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD 0xDD\n");
47222322Sadrian	printf("  where each line must have exactly eight data bytes.\n");
48222322Sadrian	exit(127);
49222322Sadrian}
50222322Sadrian
51222322Sadrianint
52222322Sadrianmain(int argc, char *argv[])
53222322Sadrian{
54222322Sadrian	uint16_t *eep = NULL;
55222322Sadrian	eep = calloc(4096, sizeof(int16_t));
56222322Sadrian
57222322Sadrian	if (argc < 2)
58222322Sadrian		usage(argv);
59222322Sadrian
60222322Sadrian	load_eeprom_dump(argv[1], eep);
61222322Sadrian
62222322Sadrian	eeprom_9287_base_print(eep);
63222322Sadrian	eeprom_9287_custdata_print(eep);
64222322Sadrian	printf("\n2.4ghz:\n");
65222322Sadrian	eeprom_9287_modal_print(eep);
66222322Sadrian	printf("\n");
67222322Sadrian
68222322Sadrian	eeprom_9287_calfreqpiers_print(eep);
69222322Sadrian	printf("\n");
70222322Sadrian
71222322Sadrian	eeprom_9287_print_targets(eep);
72222322Sadrian	printf("\n");
73222322Sadrian
74222322Sadrian	eeprom_9287_ctl_print(eep);
75222322Sadrian	printf("\n");
76222322Sadrian
77222322Sadrian	eeprom_9287_print_edges(eep);
78222322Sadrian	printf("\n");
79222322Sadrian
80222322Sadrian	eeprom_9287_print_other(eep);
81222322Sadrian	printf("\n");
82222322Sadrian
83222322Sadrian	free(eep);
84222322Sadrian	exit(0);
85222322Sadrian}
86