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