Hi there,
I don't work with leJOS directly, but I'm using a software platform (nxtOSEK) that borrows drivers from leJOS - albeit rather antiquated ones. I've looked at the recent code of "i2c.c" and some changes have left me a little baffled. Previous versions had the function i2c_start_transaction(int port, U32 address, int internal_address, int n_internal_address_bytes, U8 *data, U32 nbytes, int write) which was later changed to i2c_start(int port, U32 address...int write). But in recent versions, the function has been modified to i2c_start(int port, U32 address, U8 *write_data, int write_len, int read_len). What happened to the internal register address?
As I understand, to access data from a typical NXT sensor, the starting address of the internal register has to be specified, followed by the number of address bytes that will indicate the required number of increments of the address. So, how does the new I2C implementation achieve this? I keep reading about queries regarding Standard Mode vs Lego Mode. Is it related to my question?
Cheers
Hippie
