00001 /********************************************************************************* 00002 00003 Copyright 2006-2008 MakingThings 00004 00005 Licensed under the Apache License, 00006 Version 2.0 (the "License"); you may not use this file except in compliance 00007 with the License. You may obtain a copy of the License at 00008 00009 http://www.apache.org/licenses/LICENSE-2.0 00010 00011 Unless required by applicable law or agreed to in writing, software distributed 00012 under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 00013 CONDITIONS OF ANY KIND, either express or implied. See the License for 00014 the specific language governing permissions and limitations under the License. 00015 00016 *********************************************************************************/ 00017 00018 /* 00019 EEPROM.h 00020 MakingThings 00021 */ 00022 00023 #ifndef EEPROM_H 00024 #define EEPROM_H 00025 00026 #include "types.h" 00027 00028 int Eeprom_SetActive( int state ); 00029 int Eeprom_GetActive( void ); 00030 00031 int Eeprom_GetLastAddress( void ); 00032 00033 int Eeprom_Write( int address, uchar *buffer, int count ); 00034 int Eeprom_Read( int address, uchar* buffer, int count ); 00035 00036 #define EEPROM_RESERVE_SIZE 1024 00037 #define EEPROM_SIZE ( 32 * 1024 ) 00038 #define EEPROM_SYSTEM_BASE ( EEPROM_SIZE - EEPROM_RESERVE_SIZE ) 00039 #define EEPROM_SYSTEM_SERIAL_NUMBER EEPROM_SYSTEM_BASE + 0 00040 #define EEPROM_SYSTEM_NOTUSED EEPROM_SYSTEM_BASE + 4 00041 #define EEPROM_SYSTEM_NET_CHECK EEPROM_SYSTEM_BASE + 8 00042 #define EEPROM_SYSTEM_NET_ADDRESS EEPROM_SYSTEM_BASE + 12 00043 #define EEPROM_SYSTEM_NET_MASK EEPROM_SYSTEM_BASE + 16 00044 #define EEPROM_SYSTEM_NET_GATEWAY EEPROM_SYSTEM_BASE + 20 00045 #define EEPROM_SYSTEM_END EEPROM_SYSTEM_BASE + 24 00046 #define EEPROM_POLY_0_TIMER_DURATION EEPROM_SYSTEM_BASE + 28 00047 #define EEPROM_POLY_0_TIMER_SUSTAIN EEPROM_SYSTEM_BASE + 32 00048 #define EEPROM_POLY_1_TIMER_DURATION EEPROM_SYSTEM_BASE + 36 00049 #define EEPROM_POLY_1_TIMER_SUSTAIN EEPROM_SYSTEM_BASE + 40 00050 #define EEPROM_POLY_0_FOLLOWER_RATE EEPROM_SYSTEM_BASE + 44 00051 #define EEPROM_POLY_0_FOLLOWER_PEAK EEPROM_SYSTEM_BASE + 48 00052 #define EEPROM_POLY_1_FOLLOWER_RATE EEPROM_SYSTEM_BASE + 52 00053 #define EEPROM_POLY_1_FOLLOWER_PEAK EEPROM_SYSTEM_BASE + 56 00054 #define EEPROM_POLY_0_OSCILLATOR_PERIODON EEPROM_SYSTEM_BASE + 60 00055 #define EEPROM_POLY_0_OSCILLATOR_PERIODOFF EEPROM_SYSTEM_BASE + 64 00056 #define EEPROM_POLY_1_OSCILLATOR_PERIODON EEPROM_SYSTEM_BASE + 68 00057 #define EEPROM_POLY_1_OSCILLATOR_PERIODOFF EEPROM_SYSTEM_BASE + 72 00058 #define EEPROM_OSC_UDP_LISTEN_PORT EEPROM_SYSTEM_BASE + 76 00059 #define EEPROM_TCP_AUTOCONNECT EEPROM_SYSTEM_BASE + 80 00060 #define EEPROM_TCP_OUT_ADDRESS EEPROM_SYSTEM_BASE + 84 00061 #define EEPROM_TCP_OUT_PORT EEPROM_SYSTEM_BASE + 88 00062 #define EEPROM_DHCP_ENABLED EEPROM_SYSTEM_BASE + 92 00063 #define EEPROM_SYSTEM_NAME EEPROM_SYSTEM_BASE + 96 // this is 100 bytes long 00064 #define EEPROM_WEBSERVER_ENABLED EEPROM_SYSTEM_BASE + 196 00065 #define EEPROM_OSC_UDP_SEND_PORT EEPROM_SYSTEM_BASE + 200 00066 #define EEPROM_OSC_ASYNC_DEST EEPROM_SYSTEM_BASE + 204 00067 #define EEPROM_XBEE_AUTOSEND EEPROM_SYSTEM_BASE + 208 00068 #define EEPROM_DIPSWITCH_AUTOSEND EEPROM_SYSTEM_BASE + 212 00069 #define EEPROM_ANALOGIN_AUTOSEND EEPROM_SYSTEM_BASE + 216 00070 #define EEPROM_OSC_ASYNC_INTERVAL EEPROM_SYSTEM_BASE + 220 00071 00072 #endif
The Make Controller Kit is an open source project maintained by MakingThings.
MakingThings code is released under the Apache 2.0 license.
Bug tracker, development wiki and status can be found at http://dev.makingthings.com.
This document was last updated on 18 May 2009.