bootup.h

Go to the documentation of this file.
00001 // ////////////////////////////////////////////////////////////////////////////
00002 // ////////////////////////////////////////////////////////////////////////////
00027 // ////////////////////////////////////////////////////////////////////////////
00028 // ////////////////////////////////////////////////////////////////////////////
00029 
00030 
00031 #ifndef BOOTUP_H
00032 
00033 #define     BOOTUP_H
00034 
00035 
00036 // ////////////////////////////////////////////////////////////////////////////
00037 // Includes
00038 // ////////////////////////////////////////////////////////////////////////////
00039 
00040 #include    <stdio.h>
00041 #include    "main.h"
00042 #include    "ipset.h"
00043 #include    "eeprom_adds.h"
00044 
00045 
00046 // ////////////////////////////////////////////////////////////////////////////
00047 // Defines
00048 // ////////////////////////////////////////////////////////////////////////////
00049 
00050 #ifdef BOOTUP_C
00051     #define PROTO
00052 #else
00053     #define PROTO extern
00054 #endif
00055 
00056 
00060 #ifdef __DEBUG
00061     #define HOSTNAME    ((ROM BYTE *) "ew7c4000")
00062 #else // Located in bootloader...
00063     #define HOSTNAME    ((ROM BYTE *) 0x01fbf0)
00064 #endif
00065 
00066 
00067 // ////////////////////////////////////////////////////////////////////////////
00068 // Typedefs
00069 // ////////////////////////////////////////////////////////////////////////////
00070 
00071 
00075 typedef struct __attribute__((__packed__)) _IP_CONFIG 
00076 {
00077     IP_ADDR     MyIPAddr;   
00078     IP_ADDR     MyMask;     
00079     IP_ADDR     MyGateway;  
00080     struct
00081     {
00082         unsigned char : 7;
00083         unsigned char bIPunique : 1;    
00084     } Flags;
00085 } IP_CONFIG;
00086 
00087 
00091 typedef struct
00092 {
00093     unsigned char : 7;
00094     
00096     unsigned char bIsDHCPEnabled : 1;    
00097 } sIPFlags;
00098 
00099 
00101 typedef enum
00102 {
00103     SRCP_PROJECT = 0xFF,
00104     ROCRAIL_PROJECT
00105 } eWichtProjects;
00106 
00107 
00112 typedef struct __attribute__((__packed__))
00113 {
00114     IP_ADDR     ManIPAddr;  
00115     BYTE        ManMask;    
00116     IP_ADDR     ManGateway; 
00117     IP_ADDR     LastAutoIP; 
00118     sIPFlags    Flags;      
00119 
00122     BYTE        u8LCDLight;
00123 
00127     DWORD       u32VersionTag;
00128 
00132     eWichtProjects  TargetProject;
00133 
00136     BYTE        u8LanguageID;
00137 
00138 } PCOMMON_CONFIG;
00139 
00140 
00141 // ////////////////////////////////////////////////////////////////////////////
00142 // Global variables
00143 // ////////////////////////////////////////////////////////////////////////////
00144 
00148 PROTO IP_CONFIG sIPConfig;
00149 
00156 PROTO PCOMMON_CONFIG sPCommonConfig;
00157 
00158 
00159 // ////////////////////////////////////////////////////////////////////////////
00160 // Global function prototypes
00161 // ////////////////////////////////////////////////////////////////////////////
00162 
00163 // ////////////////////////////////////////////////////////////////////////////
00177 void BootupInit(void);
00178 
00179 
00180 // ////////////////////////////////////////////////////////////////////////////
00210 BOOL bBootupMain(void);
00211 
00212 
00213 // ////////////////////////////////////////////////////////////////////////////
00229 void BootupSetIP(void);
00230 
00231 
00232 // ////////////////////////////////////////////////////////////////////////////
00247 void BootupResetToFactory(void);
00248 
00249 
00250 // ////////////////////////////////////////////////////////////////////////////
00256 void BootupEnterBootloader(void);
00257 
00258 
00259 // ////////////////////////////////////////////////////////////////////////////
00264 void BootupRestoreState(void);
00265 
00266 
00267 // ////////////////////////////////////////////////////////////////////////////
00268 // Epilogue
00269 // ////////////////////////////////////////////////////////////////////////////
00270 
00273 #undef PROTO
00274 
00275 #endif  // #ifndef BOOTUP_H

Generated on Sun Nov 27 20:02:38 2011 for eWicht by  doxygen 1.5.5