WizziLab / modem_ref_v5_3_217

Dependents:   modem_ref_helper_for_v5_3_217

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers revision.h Source File

revision.h

00001 /// @copyright
00002 /// ========================================================================={{{
00003 /// Copyright (c) 2012-2017 WizziLab                                           /
00004 /// All rights reserved                                                        /
00005 ///                                                                            /
00006 /// IMPORTANT: This Software may not be modified, copied or distributed unless /
00007 /// embedded on a WizziLab product. Other than for the foregoing purpose, this /
00008 /// Software and/or its documentation may not be used, reproduced, copied,     /
00009 /// prepared derivative works of, modified, performed, distributed, displayed  /
00010 /// or sold for any purpose. For the sole purpose of embedding this Software   /
00011 /// on a WizziLab product, copy, modification and distribution of this         /
00012 /// Software is granted provided that the following conditions are respected:  /
00013 ///                                                                            /
00014 /// *  Redistributions of source code must retain the above copyright notice,  /
00015 ///    this list of conditions and the following disclaimer                    /
00016 ///                                                                            /
00017 /// *  Redistributions in binary form must reproduce the above copyright       /
00018 ///    notice, this list of conditions and the following disclaimer in the     /
00019 ///    documentation and/or other materials provided with the distribution.    /
00020 ///                                                                            /
00021 /// *  The name of WizziLab can not be used to endorse or promote products     /
00022 ///    derived from this software without specific prior written permission.   /
00023 ///                                                                            /
00024 /// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS        /
00025 /// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED  /
00026 /// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR /
00027 /// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR          /
00028 /// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,      /
00029 /// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,        /
00030 /// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,            /
00031 /// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY     /
00032 /// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING    /
00033 /// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS         /
00034 /// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.               /
00035 /// WIZZILAB HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,       /
00036 /// ENHANCEMENTS OR MODIFICATIONS.                                             /
00037 ///                                                                            /
00038 /// Should you have any questions regarding your right to use this Software,   /
00039 /// contact WizziLab at www.wizzilab.com.                                      /
00040 ///                                                                            /
00041 /// =========================================================================}}}
00042 /// @endcopyright
00043 
00044 #ifndef __REVISION_H__
00045 #define __REVISION_H__
00046 
00047 #include "hal_types.h"
00048 
00049 //======================================================================
00050 // Firmware version Structure
00051 //
00052 // Used within the revision structure
00053 //======================================================================
00054 TYPEDEF_STRUCT_PACKED
00055 {
00056     u8  id;
00057     u8  major;
00058     u8  minor;
00059     u16 patch;
00060     u32 hash;
00061 } fw_version_t;
00062 
00063 //======================================================================
00064 // Revision Structure
00065 //
00066 // Usage within D7B server:
00067 // An XML describing the File system of a device is associated to a
00068 // couple manufacturer_id/device_id (==Device).
00069 // Different versions of the Device's XML can exist and can be mapped
00070 // according to fw_version
00071 //======================================================================
00072 TYPEDEF_STRUCT_PACKED
00073 {
00074     /// Manufacturer ID: provided by Wizzilab
00075     //  comes from: here
00076     u32 manufacturer_id;
00077     /// Device ID: Arbitrary number, at user/customer choice
00078     //  comes from: application
00079     u32 device_id;
00080     /// Hardware Board ID:
00081     //  comes from: board definition
00082     u32 hw_version;
00083     /// Firmware Version: made of
00084     ///  - major,minor and patch indexes : comes from versioning tool
00085     ///  - fw_id : "build-flavour" : comes from build setup
00086     ///  FW_ID | MAJOR | MINOR | PATCH | HASH |
00087     //     1B  |  1B   |  1B   |   2B  |  4B  |
00088     fw_version_t fw_version;
00089     /// Max CUP file size
00090     u32 cup_max_size;
00091 } revision_t;
00092 
00093 //======================================================================
00094 // Identification / Revision numbers
00095 //======================================================================
00096 #define __MFGID_WIZZILAB__          0x01BC50C7
00097 #define __MANUFACTURER_ID__         __MFGID_WIZZILAB__
00098 #endif // __REVISION_H__
00099 
00100