Improved dummy module.

This commit is contained in:
Florian Pose 2007-06-08 12:03:20 +00:00
parent d12427a22e
commit abcbe16619
3 changed files with 28 additions and 8 deletions

View File

@ -42,9 +42,7 @@
#include "../master/domain.h"
#include "../master/master.h"
/*****************************************************************************/
uint8_t dummy_data[PAGE_SIZE];
uint8_t *get_dummy_data(void);
/*****************************************************************************/
@ -58,7 +56,7 @@ int ecrt_domain_register_pdo(
void **data_ptr /**< address of the process data pointer */
)
{
*data_ptr = dummy_data;
*data_ptr = get_dummy_data();
return 0;
}
@ -79,7 +77,7 @@ int ecrt_domain_register_pdo_list(
const ec_pdo_reg_t *reg;
for (reg = pdo_regs; reg->slave_address; reg++) {
*(reg->data_ptr) = dummy_data;
*(reg->data_ptr) = get_dummy_data();
}
return 0;
@ -102,7 +100,7 @@ int ecrt_domain_register_pdo_range(
void **data_ptr /**< address of the process data pointer */
)
{
*data_ptr = dummy_data;
*data_ptr = get_dummy_data();
return 0;
}

View File

@ -49,7 +49,8 @@
ec_domain_t *ecrt_master_create_domain(ec_master_t *master)
{
return (ec_domain_t *) 1;
static unsigned int domain = 1;
return (ec_domain_t *) domain++;
}
/*****************************************************************************/
@ -80,7 +81,8 @@ ec_slave_t *ecrt_master_get_slave(
uint32_t p
)
{
return (ec_slave_t *) 1;
static unsigned int slave = 1;
return (ec_slave_t *) slave++;
}
/*****************************************************************************/

View File

@ -65,6 +65,23 @@ MODULE_VERSION(EC_MASTER_VERSION);
/*****************************************************************************/
#define DUMMY_SIZE (PAGE_SIZE * 8)
uint8_t dummy_data[DUMMY_SIZE];
off_t dummy_off = 0;
uint8_t *get_dummy_data(void)
{
off_t cur = dummy_off;
dummy_off += 64;
dummy_off %= DUMMY_SIZE;
return dummy_data + cur;
}
/*****************************************************************************/
/**
* Module initialization.
* Initializes \a ec_master_count masters.
@ -74,6 +91,9 @@ MODULE_VERSION(EC_MASTER_VERSION);
int __init ec_init_module(void)
{
EC_INFO("Master DUMMY driver %s\n", EC_MASTER_VERSION);
memset(dummy_data, 0x00, DUMMY_SIZE);
return 0;
}