Top secrets sources NedoPC pentevo

Rev

Rev 179 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

#ifndef __VERSION_H__
#define __VERSION_H__

/**
 * @file
 * @brief Base configuration and bootloader version out support.
 * @author http://www.nedopc.com
 *
 * Getting base configuration and bootloader version.
 *
 * Version data is 16 bytes [indexes 0x00..0x0F]. Data format:
 * - 0x00..0x0B [12 bytes]: version name string, may be zero ended if name shoter then 12 bytes;
 * - 0x0C..0x0D [2 bytes]: revision date and officiality bit;
 * - 0x0E..0x0F [2 bytes]: CRC value of bootloader or base configuration code.
 *
 * Revision date and officiality bit format:
 * - 7 bit of 0x0D: officiality bit (0 - test version, 1 - official release);
 * - 6..1 bits of 0x0D: year (value 0..63 means 2000..2063 year);
 * - 0 bit of 0x0D and 7..5 bits of 0x0C: month (value 1..12);
 * - 4..0 bits of 0x0C: day (value 1..31).
 *
 * Example:
 * 50 65 6E 74 31 6D 00 00 00 00 00 00 7B 14 3C B1
 * 50 65 6E 74 31 6D 00 00 00 00 00 00 = name string: "Pent1m";
 * 7B 14 = non official, 10 year, 03 month, 27 day: release date "27.03.2010";
 * 3C B1 = CRC.
 *
 * Recommend type next strings on display:
 * "Pent1m 27.03.2010 beta" - name and release date (officiality bit is not set);
 * "Pent1m 27.03.2010" - name and release date (officiality bit is set).
 */


/**
 * Get version byte.
 * @return version byte
 * @param index [in] - index of byte (0x00..0x0F)
 */

UBYTE GetVersionByte(UBYTE index);

/**
 * Set version type.
 * @param type [in] - 0: base configuration, 1: bootloader
 */

void SetVersionType(UBYTE type);

#endif //__VERSION_H__