examples/TestMasterMicroMod/TestMasterMicroMod.c
author fbeaulier
Tue, 16 Aug 2011 14:15:52 +0200
changeset 663 70fc3603e36f
parent 540 6857b6ffb7a7
child 664 a03f0aa7d219
permissions -rw-r--r--
timers_unix.c : remove sigint and sigterm catch
sdo : Allow multiple servers
The sdo transfer struct is not anymore referenced by server's node id but by
client or server number in the OD. Node id is not relevant in SDO transfert.
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     1
/*
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     2
This file is part of CanFestival, a library implementing CanOpen Stack. 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     3
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     4
Copyright (C): Edouard TISSERANT and Francis DUPIN
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     5
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     6
See COPYING file for copyrights details.
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     7
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     8
This library is free software; you can redistribute it and/or
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
     9
modify it under the terms of the GNU Lesser General Public
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    10
License as published by the Free Software Foundation; either
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    11
version 2.1 of the License, or (at your option) any later version.
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    12
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    13
This library is distributed in the hope that it will be useful,
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    14
but WITHOUT ANY WARRANTY; without even the implied warranty of
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    16
Lesser General Public License for more details.
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    17
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    18
You should have received a copy of the GNU Lesser General Public
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    19
License along with this library; if not, write to the Free Software
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    20
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    21
*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    22
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    23
#if defined(WIN32) && !defined(__CYGWIN__)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    24
#include <windows.h>
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    25
#include "getopt.h"
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    26
void pause(void)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    27
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    28
	system("PAUSE");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    29
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    30
#else
169
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
    31
#include <unistd.h>
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    32
#include <stdio.h>
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    33
#include <string.h>
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    34
#include <stdlib.h>
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    35
#include <signal.h>
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    36
#endif
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    37
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    38
#include "canfestival.h"
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    39
#include "TestMasterMicroMod.h"
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    40
#include "TestMaster.h"
540
6857b6ffb7a7 Removed some warnings.
etisserant
parents: 465
diff changeset
    41
unsigned int slavenodeid = 0x40;
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    42
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    43
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    44
/*****************************************************************************/
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
    45
void TestMaster_heartbeatError(CO_Data* d, UNS8 heartbeatID)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    46
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    47
	eprintf("TestMaster_heartbeatError %d\n", heartbeatID);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    48
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    49
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    50
/********************************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    51
 * ConfigureSlaveNode is responsible to
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    52
 *  - setup master RPDO 1 to receive TPDO 1 from id 0x40
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    53
 *  - setup master TPDO 1 to send RPDO 1 to id 0x40
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    54
 ********************************************************/
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
    55
void TestMaster_initialisation(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    56
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    57
	UNS32 PDO1_COBID = 0x0180 + slavenodeid; 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    58
	UNS32 PDO2_COBID = 0x0200 + slavenodeid;
540
6857b6ffb7a7 Removed some warnings.
etisserant
parents: 465
diff changeset
    59
	UNS32 size = sizeof(UNS32); 
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    60
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    61
	eprintf("TestMaster_initialisation\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    62
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    63
	/*****************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    64
	 * Define RPDOs to match slave ID=0x40 TPDOs*
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    65
	 *****************************************/
175
e255529b6f7d Added writeLocalDict and readLocalDict, that have to be called from application instead of getODEntry and setODEntry. Fix potential endianization problem.
etisserant
parents: 173
diff changeset
    66
	writeLocalDict( &TestMaster_Data, /*CO_Data* d*/
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    67
			0x1400, /*UNS16 index*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    68
			0x01, /*UNS8 subind*/ 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    69
			&PDO1_COBID, /*void * pSourceData,*/ 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    70
			&size, /* UNS8 * pExpectedSize*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    71
			RW);  /* UNS8 checkAccess */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    72
			
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    73
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    74
	/*****************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    75
	 * Define TPDOs to match slave ID=0x40 RPDOs*
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    76
	 *****************************************/
175
e255529b6f7d Added writeLocalDict and readLocalDict, that have to be called from application instead of getODEntry and setODEntry. Fix potential endianization problem.
etisserant
parents: 173
diff changeset
    77
	writeLocalDict( &TestMaster_Data, /*CO_Data* d*/
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    78
			0x1800, /*UNS16 index*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    79
			0x01, /*UNS8 subind*/ 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    80
			&PDO2_COBID, /*void * pSourceData,*/ 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    81
			&size, /* UNS8 * pExpectedSize*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    82
			RW);  /* UNS8 checkAccess */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    83
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
    84
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
    85
static int init_step = 0;
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    86
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    87
/*Froward declaration*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    88
static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    89
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    90
/**/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    91
static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId)
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    92
{
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    93
	UNS32 abortCode;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    94
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    95
	if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED)
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    96
		eprintf("Master : Failed in initializing slave %2.2x, step %d, AbortCode :%4.4x \n", nodeId, init_step, abortCode);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    97
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    98
	/* Finalise last SDO transfer with this node */
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
    99
	closeSDOtransfer(&TestMaster_Data, nodeId, SDO_CLIENT);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   100
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   101
	ConfigureSlaveNode(d, nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   102
}
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   103
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   104
/********************************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   105
 * ConfigureSlaveNode is responsible to
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   106
 *  - setup slave TPDO 1 transmit time
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   107
 *  - setup slave TPDO 2 transmit time
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   108
 *  - setup slave Heartbeat Producer time
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   109
 *  - switch to operational mode
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   110
 *  - send NMT to slave
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   111
 ********************************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   112
 * This an example of :
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   113
 * Network Dictionary Access (SDO) with Callback 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   114
 * Slave node state change request (NMT) 
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   115
 ********************************************************
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   116
 * This is called first by TestMaster_preOperational
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   117
 * then it called again each time a SDO exchange is
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   118
 * finished.
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   119
 ********************************************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   120
static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   121
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   122
	UNS8 res;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   123
	eprintf("Master : ConfigureSlaveNode %2.2x\n", nodeId);
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   124
	switch(++init_step){
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   125
		case 1: 
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   126
		{	/*disable Slave's TPDO 1 */
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   127
			UNS32 TPDO_COBId = 0x80000180 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   128
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   129
			eprintf("Master : disable slave %2.2x TPDO 1 \n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   130
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   131
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   132
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   133
					0x1800, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   134
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   135
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   136
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   137
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   138
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   139
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   140
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   141
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   142
		case 2: 
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   143
		{	/*setup Slave's TPDO 1 to be transmitted on SYNC*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   144
			UNS8 Transmission_Type = 0x01;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   145
			
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   146
			eprintf("Master : set slave %2.2x TPDO 1 transmit type\n", nodeId);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   147
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   148
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   149
					nodeId, /*UNS8 nodeId*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   150
					0x1800, /*UNS16 index*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   151
					0x02, /*UNS8 subindex*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   152
					1, /*UNS8 count*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   153
					0, /*UNS8 dataType*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   154
					&Transmission_Type,/*void *data*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   155
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   156
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   157
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   158
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   159
		case 3: 
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   160
		{	/*re-enable Slave's TPDO 1 */
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   161
			UNS32 TPDO_COBId = 0x00000180 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   162
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   163
			eprintf("Master : re-enable slave %2.2x TPDO 1\n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   164
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   165
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   166
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   167
					0x1800, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   168
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   169
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   170
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   171
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   172
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   173
		}			
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   174
		break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   175
					
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   176
		case 4: 
335
6052c980c3af fix some wrong comments in TestMasterMicroMod.c
greg
parents: 331
diff changeset
   177
		{	/*disable Slave's RPDO 1 */
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   178
			UNS32 TPDO_COBId = 0x80000200 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   179
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   180
			eprintf("Master : disable slave %2.2x RPDO 1\n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   181
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   182
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   183
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   184
					0x1400, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   185
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   186
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   187
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   188
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   189
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   190
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   191
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   192
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   193
					
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   194
		case 5:
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   195
		{	
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   196
			UNS8 Transmission_Type = 0x01;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   197
			
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   198
			eprintf("Master : set slave %2.2x RPDO 1 receive type\n", nodeId);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   199
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   200
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   201
					nodeId, /*UNS8 nodeId*/
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   202
					0x1400, /*UNS16 index*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   203
					0x02, /*UNS8 subindex*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   204
					1, /*UNS8 count*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   205
					0, /*UNS8 dataType*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   206
					&Transmission_Type,/*void *data*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   207
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   208
		}	
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   209
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   210
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   211
		case 6: 
335
6052c980c3af fix some wrong comments in TestMasterMicroMod.c
greg
parents: 331
diff changeset
   212
		{	/*re-enable Slave's RPDO 1 */
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   213
			UNS32 TPDO_COBId = 0x00000200 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   214
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   215
			eprintf("Master : re-enable %2.2x RPDO 1\n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   216
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   217
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   218
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   219
					0x1400, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   220
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   221
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   222
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   223
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   224
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   225
		}			
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   226
		break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   227
		
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   228
		case 7:	
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   229
		{
335
6052c980c3af fix some wrong comments in TestMasterMicroMod.c
greg
parents: 331
diff changeset
   230
			/*set the heartbeat Producer Time*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   231
			UNS16 Heartbeat_Producer_Time = 0x03E8; 
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   232
			eprintf("Master : set slave %2.2x heartbeat producer time \n", nodeId);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   233
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   234
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   235
					nodeId, /*UNS8 nodeId*/
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   236
					0x1017, /*UNS16 index*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   237
					0x00, /*UNS8 subindex*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   238
					2, /*UNS8 count*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   239
					0, /*UNS8 dataType*/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   240
					&Heartbeat_Producer_Time,/*void *data*/
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   241
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   242
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   243
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   244
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   245
		case 8: 
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   246
		{	/*disable Slave's TPDO 2 */
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   247
			UNS32 TPDO_COBId = 0x80000280 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   248
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   249
			eprintf("Master : disable slave %2.2x TPDO 2 \n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   250
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   251
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   252
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   253
					0x1801, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   254
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   255
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   256
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   257
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   258
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   259
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   260
		break;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   261
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   262
		case 9: 
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   263
		{	/*disable Slave's TPDO 3 */
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   264
			UNS32 TPDO_COBId = 0x80000380 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   265
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   266
			eprintf("Master : disable slave %2.2x TPDO 3 \n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   267
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   268
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   269
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   270
					0x1802, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   271
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   272
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   273
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   274
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   275
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   276
		}
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   277
		break;			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   278
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   279
		case 10: 
335
6052c980c3af fix some wrong comments in TestMasterMicroMod.c
greg
parents: 331
diff changeset
   280
		{	/*disable Slave's TPDO 4 */
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   281
			UNS32 TPDO_COBId = 0x80000480 + nodeId;
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   282
			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   283
			eprintf("Master : disable slave %2.2x TPDO 4 \n", nodeId);
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   284
			res = writeNetworkDictCallBack (d, /*CO_Data* d*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   285
					/**TestSlave_Data.bDeviceNodeId, UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   286
					nodeId, /*UNS8 nodeId*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   287
					0x1803, /*UNS16 index*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   288
					0x01, /*UNS8 subindex*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   289
					4, /*UNS8 count*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   290
					0, /*UNS8 dataType*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   291
					&TPDO_COBId,/*void *data*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   292
					CheckSDOAndContinue); /*SDOCallback_t Callback*/
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   293
		}			
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   294
		break;			
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   295
		
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   296
		case 11:
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   297
			/* Put the master in operational mode */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   298
			setState(d, Operational);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   299
			  
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   300
			/* Ask slave node to go in operational mode */
173
d776314a1efc Set PDO transmit time according to ESA perceptionof CanOpen
etisserant
parents: 172
diff changeset
   301
			masterSendNMTstateChange (d, nodeId, NMT_Start_Node);
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   302
	}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   303
			
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   304
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   305
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
   306
void TestMaster_preOperational(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   307
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   308
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   309
	eprintf("TestMaster_preOperational\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   310
	ConfigureSlaveNode(&TestMaster_Data, slavenodeid);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   311
	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   312
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   313
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
   314
void TestMaster_operational(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   315
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   316
	eprintf("TestMaster_operational\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   317
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   318
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
   319
void TestMaster_stopped(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   320
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   321
	eprintf("TestMaster_stopped\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   322
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   323
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
   324
void TestMaster_post_sync(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   325
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   326
	DO++;
201
2966cd34162a Boolean variable mapped in PDO
greg
parents: 191
diff changeset
   327
	eprintf("MicroMod Digital Out: %2.2x\n",DO);
2966cd34162a Boolean variable mapped in PDO
greg
parents: 191
diff changeset
   328
	eprintf("MicroMod Digital In (by bit): DI1: %2.2x DI2: %2.2x DI3: %2.2x DI4: %2.2x DI5: %2.2x DI6: %2.2x DI7: %2.2x DI8: %2.2x\n",DI1,DI2,DI3,DI4,DI5,DI6,DI7,DI8);
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   329
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   330
378
d2abf6c8c27b As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.
etisserant
parents: 335
diff changeset
   331
void TestMaster_post_TPDO(CO_Data* d)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   332
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   333
//	eprintf("TestMaster_post_TPDO\n");	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   334
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   335
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   336
//s_BOARD SlaveBoard = {"0", "500K"};
331
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 201
diff changeset
   337
s_BOARD MasterBoard = {"0", "125K"};
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   338
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   339
#if !defined(WIN32) || defined(__CYGWIN__)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   340
void catch_signal(int sig)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   341
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   342
  signal(SIGTERM, catch_signal);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   343
  signal(SIGINT, catch_signal);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   344
  
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   345
  eprintf("Got Signal %d\n",sig);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   346
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   347
#endif
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   348
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   349
void help(void)
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   350
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   351
  printf("**************************************************************\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   352
  printf("*  TestMasterMicroMod                                        *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   353
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   354
  printf("*  A simple example for PC.                                  *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   355
  printf("*  A CanOpen master that control a MicroMod module:          *\n");
180
9f7c60315168 Update help text.
greg
parents: 175
diff changeset
   356
  printf("*  - setup module TPDO 1 transmit type                       *\n");
9f7c60315168 Update help text.
greg
parents: 175
diff changeset
   357
  printf("*  - setup module RPDO 1 transmit type                       *\n");
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   358
  printf("*  - setup module hearbeatbeat period                        *\n");
180
9f7c60315168 Update help text.
greg
parents: 175
diff changeset
   359
  printf("*  - disable others TPDOs                                    *\n");
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   360
  printf("*  - set state to operational                                *\n");
180
9f7c60315168 Update help text.
greg
parents: 175
diff changeset
   361
  printf("*  - send periodic SYNC                                      *\n");
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   362
  printf("*  - send periodic RPDO 1 to Micromod (digital output)       *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   363
  printf("*  - listen Micromod's TPDO 1 (digital input)                *\n");
201
2966cd34162a Boolean variable mapped in PDO
greg
parents: 191
diff changeset
   364
  printf("*  - Mapping RPDO 1 bit per bit (digital input)              *\n");
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   365
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   366
  printf("*   Usage:                                                   *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   367
  printf("*   ./TestMasterMicroMod  [OPTIONS]                          *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   368
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   369
  printf("*   OPTIONS:                                                 *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   370
  printf("*     -l : Can library [\"libcanfestival_can_virtual.so\"]     *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   371
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   372
  printf("*    Slave:                                                  *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   373
  printf("*     -i : Slave Node id format [0x01 , 0x7F]                *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   374
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   375
  printf("*    Master:                                                 *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   376
  printf("*     -m : bus name [\"1\"]                                    *\n");
169
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   377
  printf("*     -M : 1M,500K,250K,125K,100K,50K,20K,10K                *\n");
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   378
  printf("*                                                            *\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   379
  printf("**************************************************************\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   380
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   381
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   382
/***************************  INIT  *****************************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   383
void InitNodes(CO_Data* d, UNS32 id)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   384
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   385
	/****************************** INITIALISATION MASTER *******************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   386
	if(MasterBoard.baudrate){
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   387
		/* Defining the node Id */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   388
		setNodeId(&TestMaster_Data, 0x01);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   389
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   390
		/* init */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   391
		setState(&TestMaster_Data, Initialisation);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   392
	}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   393
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   394
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   395
/***************************  EXIT  *****************************************/
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   396
void Exit(CO_Data* d, UNS32 id)
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   397
{
465
2ef560acfa86 fix bug in exit function
greg
parents: 454
diff changeset
   398
	if(strcmp(MasterBoard.baudrate, "none")){
2ef560acfa86 fix bug in exit function
greg
parents: 454
diff changeset
   399
		masterSendNMTstateChange(&TestMaster_Data, 0x02, NMT_Reset_Node);
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   400
    
465
2ef560acfa86 fix bug in exit function
greg
parents: 454
diff changeset
   401
    	//Stop master
2ef560acfa86 fix bug in exit function
greg
parents: 454
diff changeset
   402
		setState(&TestMaster_Data, Stopped);
2ef560acfa86 fix bug in exit function
greg
parents: 454
diff changeset
   403
	}
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   404
}
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   405
/****************************************************************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   406
/***************************  MAIN  *****************************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   407
/****************************************************************************/
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   408
int main(int argc,char **argv)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   409
{
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   410
191
1e6e3d261b8f CleanUp and minor fixes
etisserant
parents: 180
diff changeset
   411
  int c;
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   412
  extern char *optarg;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   413
  char* LibraryPath="libcanfestival_can_virtual.so";
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   414
  char *snodeid;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   415
  while ((c = getopt(argc, argv, "-m:s:M:S:l:i:")) != EOF)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   416
  {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   417
    switch(c)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   418
    {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   419
      case 'm' :
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   420
        if (optarg[0] == 0)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   421
        {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   422
          help();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   423
          exit(1);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   424
        }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   425
        MasterBoard.busname = optarg;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   426
        break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   427
      case 'M' :
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   428
        if (optarg[0] == 0)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   429
        {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   430
          help();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   431
          exit(1);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   432
        }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   433
        MasterBoard.baudrate = optarg;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   434
        break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   435
      case 'l' :
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   436
        if (optarg[0] == 0)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   437
        {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   438
          help();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   439
          exit(1);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   440
        }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   441
        LibraryPath = optarg;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   442
        break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   443
      case 'i' :
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   444
        if (optarg[0] == 0)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   445
        {
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   446
          help();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   447
          exit(1);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   448
        }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   449
        snodeid = optarg;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   450
		sscanf(snodeid,"%x",&slavenodeid);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   451
        break;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   452
      default:
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   453
        help();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   454
        exit(1);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   455
    }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   456
  }
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   457
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   458
#if !defined(WIN32) || defined(__CYGWIN__)
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   459
  /* install signal handler for manual break */
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   460
	signal(SIGTERM, catch_signal);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   461
	signal(SIGINT, catch_signal);
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   462
	TimerInit();
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   463
#endif
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   464
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   465
#ifndef NOT_USE_DYNAMIC_LOADING
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   466
	LoadCanDriver(LibraryPath);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   467
#endif		
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   468
169
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   469
	TestMaster_Data.heartbeatError = TestMaster_heartbeatError;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   470
	TestMaster_Data.initialisation = TestMaster_initialisation;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   471
	TestMaster_Data.preOperational = TestMaster_preOperational;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   472
	TestMaster_Data.operational = TestMaster_operational;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   473
	TestMaster_Data.stopped = TestMaster_stopped;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   474
	TestMaster_Data.post_sync = TestMaster_post_sync;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   475
	TestMaster_Data.post_TPDO = TestMaster_post_TPDO;
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   476
	
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   477
	if(!canOpen(&MasterBoard,&TestMaster_Data)){
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   478
		eprintf("Cannot open Master Board\n");
90c0a676e631 Removed compilation warnings with some GCC. + Fixed test for baudrate = none
etisserant
parents: 166
diff changeset
   479
		goto fail_master;
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   480
	}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   481
	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   482
	// Start timer thread
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   483
	StartTimerLoop(&InitNodes);
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   484
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   485
	// wait Ctrl-C
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   486
	pause();
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   487
	eprintf("Finishing.\n");
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   488
	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   489
	// Stop timer thread
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   490
	StopTimerLoop(&Exit);
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   491
	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   492
fail_master:
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   493
	if(MasterBoard.baudrate) canClose(&TestMaster_Data);	
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   494
454
bc000083297a - add RTAI support
greg
parents: 378
diff changeset
   495
  TimerCleanup();
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   496
  return 0;
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   497
}
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   498
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents:
diff changeset
   499