Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

h3mp

Member Since 23 Nov 2011
Offline Last Active Mar 08 2023 02:50 PM
-----

Topics I've Started

Netduino runs faster when debugging

01 March 2015 - 04:22 PM

..just an observation which I dont understand!

 

I have a simple program running at the moment that just reads a sensor and writes the result to a serial port...

every time it goes around the loop it toggles between two LEDs

 

while (true)

{

ToggleTwoLEDs();

ReadSensor();

WriteResultToSerialPort();

}

 

while running in visual studio the loop runs very quickly, when i stop debugging the LEDs toggling reduces to about quarter the speed (according to my eyes)..

 

what is going on?

 

 


I2C not working on plus 2 (or regular 2)

19 February 2015 - 02:53 PM

I have an app on the netduino1 which reads a LSM9DS0 sensor - all works fine.

 

Tried it on the netduino-plus2 (and netduino2) and neither get any i2c data back.

 

i've re-wired a5 to sc and a4 to sd, surely this is all i need to do for it to work!?


I2C on original netduino not reading multiple bytes

17 February 2015 - 10:21 PM

I'm new to I2C so apologies in advance  :D

 

I'm trying to read multiple registers at once from a LSM9DS0 accelerometer/gyro/compass chip..

 

Each sensor has 6 registers in a row that return X/Y/Z high and low bytes.. so i should be able to use the I2C_ADDRESS of the chip's XM sensor, then point a 'read' at the first of the 6 registers then i was hoping that would return an array of that register plus the next 5..

 

I use code based on this following example i found on the web:


I2CDevice.Configuration config = new I2CDevice.Configuration(I2C_ADDRESS, I2C_CLOCK_RATE_KHZ);
I2CDevice i2c = new I2CDevice(config);

byte write = { AddressOfFirstRegisterIneed };
byte read = new byte[6]; //surely this should return the first and subsequent 5 registers?
// create I2C write and read transaction
I2CDevice.I2CTransaction i2cTx = new I2CDevice.I2CTransaction[2];
i2cTx[0] = I2CDevice.CreateWriteTransaction(write);
i2cTx[1] = I2CDevice.CreateReadTransaction(read);
// execution
i2c.Execute(i2cTx, I2C_TIMEOUT);

 

..what i get back is an array of bytes all containing the same value!? (there should be 6 distinct values returned).

 

if i do 6 separate transactions one after another reading just 1 byte, then i can return all 6 registers successfully..

 

but as they are all in a row should i not be able to do all this in one transaction?  :wacko:

 

(i'm doing this on my old Netduino 1 that is probably running 4.2.0 update1 as i didnt have any newer netduinos in my office today)

 

 

 


home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.