examples/TestMasterSlave/TestMaster.c
author etisserant
Wed, 10 May 2006 21:05:57 +0200
changeset 1 b3dc740b4b04
parent 0 4472ee7c6c3e
child 23 6a5cdca4de01
permissions -rw-r--r--
Commit some Fix from Francis on sdo.c and abjacces.c. Fix endianisation problems while accessing OD. Also fix SDO abord handling bug.
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     1
/*
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     2
This file is part of CanFestival, a library implementing CanOpen Stack. 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     3
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     4
Copyright (C): Edouard TISSERANT and Francis DUPIN
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     5
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     6
See COPYING file for copyrights details.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     7
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     8
This library is free software; you can redistribute it and/or
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     9
modify it under the terms of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    10
License as published by the Free Software Foundation; either
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    11
version 2.1 of the License, or (at your option) any later version.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    12
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    13
This library is distributed in the hope that it will be useful,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    14
but WITHOUT ANY WARRANTY; without even the implied warranty of
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    16
Lesser General Public License for more details.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    17
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    18
You should have received a copy of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    19
License along with this library; if not, write to the Free Software
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    20
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    21
*/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    22
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    23
/* File generated by gen_cfile.py. Should not be modified. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    24
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    25
#include "TestMaster.h"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    26
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    27
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    28
/* Declaration of the mapped variables                                    */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    29
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    30
UNS8 MasterMap1 = 0x0;		// Mapped at index 0x2000, subindex 0x00
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    31
UNS8 MasterMap2 = 0x0;		// Mapped at index 0x2001, subindex 0x00
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    32
UNS8 MasterMap3 = 0x0;		// Mapped at index 0x2002, subindex 0x00
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    33
UNS8 MasterMap4 = 0x0;		// Mapped at index 0x2003, subindex 0x00
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    34
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    35
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    36
/* Declaration of the value range types                                   */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    37
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    38
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    39
UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void * value)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    40
{
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    41
  switch (typeValue) {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    42
  }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    43
  return 0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    44
}
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    45
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    46
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    47
/* The node id                                                            */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    48
/**************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    49
/* node_id default value.*/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    50
UNS8 TestMaster_bDeviceNodeId = 0x00;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    51
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    52
//*****************************************************************************/
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    53
/* Array of message processing information */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    54
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    55
const UNS8 TestMaster_iam_a_slave = 0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    56
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    57
TIMER_HANDLE TestMaster_heartBeatTimers[1] = {TIMER_NONE,};
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    58
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    59
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    60
//
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    61
//                       OBJECT DICTIONARY
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    62
//                   
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    63
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    65
/* index 0x1000 :   Device Type. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    66
                    UNS32 TestMaster_obj1000 = 0x12D;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    67
                    subindex TestMaster_Index1000[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    68
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    69
                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1000 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    70
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    71
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    72
/* index 0x1001 :   Error Register. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    73
                    UNS8 TestMaster_obj1001 = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    74
                    subindex TestMaster_Index1001[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    75
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    76
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_obj1001 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    77
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    78
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    79
/* index 0x1005 :   SYNC COB ID. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    80
                    UNS32 TestMaster_obj1005 = 0x40000080;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    81
                    ODCallback_t TestMaster_Index1005_callbacks[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    82
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    83
                       NULL,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    84
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    85
                    subindex TestMaster_Index1005[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    86
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    87
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1005 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    88
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    89
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    90
/* index 0x1006 :   Communication / Cycle Period. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    91
                    UNS32 TestMaster_obj1006 = 0xC350;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    92
                    ODCallback_t TestMaster_Index1006_callbacks[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    93
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    94
                       NULL,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    95
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    96
                    subindex TestMaster_Index1006[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    97
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    98
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1006 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    99
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   100
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   101
/* index 0x1016 :   Consumer Heartbeat Time. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   102
                    UNS8 TestMaster_highestSubIndex_obj1016 = 1; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   103
                    UNS32 TestMaster_obj1016[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   104
                    {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   105
                      133122
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   106
                    };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   107
                    subindex TestMaster_Index1016[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   108
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   109
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1016 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   110
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1016[0] }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   111
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   112
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   113
/* index 0x1017 :   Producer Heartbeat Time */ 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   114
                    UNS16 TestMaster_obj1017 = 0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   115
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   116
/* index 0x1018 :   Identity. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   117
                    UNS8 TestMaster_highestSubIndex_obj1018 = 4; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   118
                    UNS32 TestMaster_obj1018_Vendor_ID = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   119
                    UNS32 TestMaster_obj1018_Product_Code = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   120
                    UNS32 TestMaster_obj1018_Revision_Number = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   121
                    UNS32 TestMaster_obj1018_Serial_Number = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   122
                    subindex TestMaster_Index1018[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   123
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   124
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1018 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   125
                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Vendor_ID },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   126
                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Product_Code },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   127
                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Revision_Number },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   128
                       { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1018_Serial_Number }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   129
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   130
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   131
/* index 0x1280 :   Client SDO 1 Parameter. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   132
                    UNS8 TestMaster_highestSubIndex_obj1280 = 3; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   133
                    UNS32 TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x602;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   134
                    UNS32 TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x582;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   135
                    UNS32 TestMaster_obj1280_Node_ID_of_the_SDO_Server = 0x2;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   136
                    subindex TestMaster_Index1280[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   137
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   138
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1280 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   139
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Client_to_Server_Transmit_SDO },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   140
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_COB_ID_Server_to_Client_Receive_SDO },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   141
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1280_Node_ID_of_the_SDO_Server }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   142
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   143
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   144
/* index 0x1400 :   Receive PDO 1 Parameter. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   145
                    UNS8 TestMaster_highestSubIndex_obj1400 = 5; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   146
                    UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x182;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   147
                    UNS8 TestMaster_obj1400_Transmission_Type = 0x1;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   148
                    UNS16 TestMaster_obj1400_Inhibit_Time = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   149
                    UNS16 TestMaster_obj1400_Compatibility_Entry = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   150
                    UNS16 TestMaster_obj1400_Event_Timer = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   151
                    subindex TestMaster_Index1400[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   152
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   153
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1400 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   154
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1400_COB_ID_used_by_PDO },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   155
                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1400_Transmission_Type },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   156
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Inhibit_Time },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   157
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Compatibility_Entry },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   158
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1400_Event_Timer }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   159
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   160
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   161
/* index 0x1401 :   Receive PDO 2 Parameter. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   162
                    UNS8 TestMaster_highestSubIndex_obj1401 = 5; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   163
                    UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x282;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   164
                    UNS8 TestMaster_obj1401_Transmission_Type = 0x1;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   165
                    UNS16 TestMaster_obj1401_Inhibit_Time = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   166
                    UNS16 TestMaster_obj1401_Compatibility_Entry = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   167
                    UNS16 TestMaster_obj1401_Event_Timer = 0x0;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   168
                    subindex TestMaster_Index1401[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   169
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   170
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1401 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   171
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1401_COB_ID_used_by_PDO },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   172
                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1401_Transmission_Type },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   173
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Inhibit_Time },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   174
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Compatibility_Entry },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   175
                       { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Event_Timer }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   176
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   177
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   178
/* index 0x1600 :   Receive PDO 1 Mapping. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   179
                    UNS8 TestMaster_highestSubIndex_obj1600 = 2; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   180
                    UNS32 TestMaster_obj1600[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   181
                    {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   182
                      536870920,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   183
                      536936456
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   184
                    };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   185
                    subindex TestMaster_Index1600[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   186
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   187
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1600 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   188
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[0] },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   189
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1600[1] }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   190
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   191
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   192
/* index 0x1601 :   Receive PDO 2 Mapping. */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   193
                    UNS8 TestMaster_highestSubIndex_obj1601 = 2; // number of subindex - 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   194
                    UNS32 TestMaster_obj1601[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   195
                    {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   196
                      537001992,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   197
                      537067528
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   198
                    };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   199
                    subindex TestMaster_Index1601[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   200
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   201
                       { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1601 },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   202
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[0] },
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   203
                       { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[1] }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   204
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   205
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   206
/* index 0x2000 :   Mapped variable MasterMap1 */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   207
                    ODCallback_t MasterMap1_callbacks[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   208
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   209
                       NULL,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   210
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   211
                    subindex TestMaster_Index2000[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   212
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   213
                       { RW, uint8, sizeof (UNS8), (void*)&MasterMap1 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   214
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   215
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   216
/* index 0x2001 :   Mapped variable MasterMap2 */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   217
                    subindex TestMaster_Index2001[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   218
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   219
                       { RW, uint8, sizeof (UNS8), (void*)&MasterMap2 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   220
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   221
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   222
/* index 0x2002 :   Mapped variable MasterMap3 */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   223
                    subindex TestMaster_Index2002[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   224
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   225
                       { RW, uint8, sizeof (UNS8), (void*)&MasterMap3 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   226
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   227
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   228
/* index 0x2003 :   Mapped variable MasterMap4 */
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   229
                    subindex TestMaster_Index2003[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   230
                     {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   231
                       { RW, uint8, sizeof (UNS8), (void*)&MasterMap4 }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   232
                     };
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   233
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   234
const indextable TestMaster_objdict[] = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   235
{
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   236
  { (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   237
  { (subindex*)TestMaster_Index1001,sizeof(TestMaster_Index1001)/sizeof(TestMaster_Index1001[0]), 0x1001},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   238
  { (subindex*)TestMaster_Index1005,sizeof(TestMaster_Index1005)/sizeof(TestMaster_Index1005[0]), 0x1005},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   239
  { (subindex*)TestMaster_Index1006,sizeof(TestMaster_Index1006)/sizeof(TestMaster_Index1006[0]), 0x1006},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   240
  { (subindex*)TestMaster_Index1016,sizeof(TestMaster_Index1016)/sizeof(TestMaster_Index1016[0]), 0x1016},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   241
  { (subindex*)TestMaster_Index1018,sizeof(TestMaster_Index1018)/sizeof(TestMaster_Index1018[0]), 0x1018},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   242
  { (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   243
  { (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   244
  { (subindex*)TestMaster_Index1401,sizeof(TestMaster_Index1401)/sizeof(TestMaster_Index1401[0]), 0x1401},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   245
  { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   246
  { (subindex*)TestMaster_Index1601,sizeof(TestMaster_Index1601)/sizeof(TestMaster_Index1601[0]), 0x1601},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   247
  { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   248
  { (subindex*)TestMaster_Index2001,sizeof(TestMaster_Index2001)/sizeof(TestMaster_Index2001[0]), 0x2001},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   249
  { (subindex*)TestMaster_Index2002,sizeof(TestMaster_Index2002)/sizeof(TestMaster_Index2002[0]), 0x2002},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   250
  { (subindex*)TestMaster_Index2003,sizeof(TestMaster_Index2003)/sizeof(TestMaster_Index2003[0]), 0x2003},
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   251
};
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   252
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   253
const indextable * TestMaster_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   254
{
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   255
	int i;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   256
	switch(wIndex){
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   257
		case 0x1000: i = 0; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   258
		case 0x1001: i = 1; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   259
		case 0x1005: i = 2; *callbacks = TestMaster_Index1005_callbacks; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   260
		case 0x1006: i = 3; *callbacks = TestMaster_Index1006_callbacks; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   261
		case 0x1016: i = 4; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   262
		case 0x1018: i = 5; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   263
		case 0x1280: i = 6; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   264
		case 0x1400: i = 7; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   265
		case 0x1401: i = 8; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   266
		case 0x1600: i = 9; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   267
		case 0x1601: i = 10; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   268
		case 0x2000: i = 11; *callbacks = MasterMap1_callbacks; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   269
		case 0x2001: i = 12; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   270
		case 0x2002: i = 13; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   271
		case 0x2003: i = 14; *callbacks = NULL; break;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   272
		default:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   273
			*errorCode = OD_NO_SUCH_OBJECT;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   274
			return NULL;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   275
	}
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   276
	*errorCode = OD_SUCCESSFUL;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   277
	return &TestMaster_objdict[i];
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   278
}
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   279
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   280
// To count at which received SYNC a PDO must be sent.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   281
// Even if no pdoTransmit are defined, at least one entry is computed
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   282
// for compilations issues.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   283
UNS8 TestMaster_count_sync[1] = {0,};
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   284
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   285
quick_index TestMaster_firstIndex = {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   286
  SDO_SVR : 0,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   287
  SDO_CLT : 6,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   288
  PDO_RCV : 7,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   289
  PDO_RCV_MAP : 9,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   290
  PDO_TRS : 0,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   291
  PDO_TRS_MAP : 0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   292
};
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   293
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   294
quick_index TestMaster_lastIndex = {
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   295
  SDO_SVR : 0,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   296
  SDO_CLT : 6,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   297
  PDO_RCV : 8,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   298
  PDO_RCV_MAP : 10,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   299
  PDO_TRS : 0,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   300
  PDO_TRS_MAP : 0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   301
};
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   302
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   303
UNS16 TestMaster_ObjdictSize = sizeof(TestMaster_objdict)/sizeof(TestMaster_objdict[0]); 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   304
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   305
CO_Data TestMaster_Data = CANOPEN_NODE_DATA_INITIALIZER(TestMaster);
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   306