Thanks for your suggestions. I will try the logic analyzer option. On Wednesday, May 7, 2014 8:44:17 AM UTC-7, Ytai wrote: > > 0x27 is the right address. > There may be several possible reasons for getting 'false': > > - Electrical issues: bad wiring, bad sensor, wiring to the wrong IOIO > or device pins, missing pull-ups, etc. The ideal way to check this is with > a logic analyzer or an oscilloscope. If you don't have access to such, > trial and error... > - Software issues: using the wrong device address, an overly high bus > speed, the wrong bus number, unsupported protocol. > > Note that because the sending of one byte is a hack, it might be normal > for this transaction to return false (i.e. the device NACKs it on purpose). > The second one should work though. > Another thing to check is power cycling the sensor itself. I've seen I2C > sensors from Honeywell (not this specific one) get stuck in various nasty > bad states, which are sometimes (but not always) recoverable by > power-cycling. > > > On Tue, May 6, 2014 at 7:02 PM, Alexander Bashmakov > <[email protected]<javascript:> > > wrote: > >> I'm using a breakout board which already has the resistors: >> >> https://www.sparkfun.com/products/11295 >> >> http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/HIH6130_Breakout_v10.pdf >> >> The documentation says the Measurement Request command consists of the >> 7-bit slave address followed by a write bit = 0. The Data Fetch command is >> the slave address followed by a read bit = 1. Given that the default slave >> address should be 0x27, does that mean I have to pass 0x4E and 0x4F in the >> address argument for the two writeRead() calls respectively? I tried that, >> but still got a false result for both calls. >> >> >> On Tuesday, May 6, 2014 6:54:57 PM UTC-7, Ytai wrote: >> >>> Have you wired pull ups correctly? >>> On May 6, 2014 6:27 PM, "Alexander Bashmakov" <[email protected]> wrote: >>> >>>> I tried the following code: >>>> >>>> byte[] request = new byte[] {0x00}; >>>> boolean result = mTwi.writeRead(0x27, false, request, >>>> request.length, null, 0); // Read buffer is null, read length is 0 >>>> Log.i("MR command result: " + result); >>>> Thread.sleep(100); >>>> byte[] response = new byte[4]; >>>> result = mTwi.writeRead(0x27, false, null, 0, response, >>>> response.length); // Write buffer is null, write length is 0 >>>> Log.i("DF command result: " + result); >>>> >>>> In this case, both calls to writeRead() return false. I'm fairly stuck >>>> at this point. >>>> >>>> On Tuesday, May 6, 2014 5:41:16 PM UTC-7, Ytai wrote: >>>>> >>>>> I think your second transaction needs to be read-only (i.e. >>>>> writeLength = 0). >>>>> Note that for both read and write buffers, if the length is 0 the >>>>> buffer can be null (you don't need the funny zero-length array). >>>>> >>>>> >>>>> On Tue, May 6, 2014 at 5:13 PM, Alexander Bashmakov <[email protected] >>>>> > wrote: >>>>> >>>>>> Some more progress made, new code: >>>>>> >>>>>> >>>>>> byte[] request = new byte[] {0x00}; >>>>>> byte[] response = new byte[0]; >>>>>> Log.i("Sending MR command"); >>>>>> boolean result = mTwi.writeRead(0x27, false, request, >>>>>> request.length, response, response.length); >>>>>> Log.i("MR command result: " + result); // result is true >>>>>> after power cycling >>>>>> Thread.sleep(100); >>>>>> request = new byte[] {0x01}; >>>>>> >>>>>> response = new byte[4]; >>>>>> Log.i("Sending DF command"); >>>>>> result = mTwi.writeRead(0x27, false, request, request.length, >>>>>> response, response.length); >>>>>> Log.i("DF command result: " + result); // result is false >>>>>> >>>>>> I am struggling to understand what should the value of the second >>>>>> request be for Data Fetch. >>>>>> >>>>>> >>>>>> >>>>>> On Tuesday, May 6, 2014 2:27:54 PM UTC-7, Alexander Bashmakov wrote: >>>>>>> >>>>>>> Hi Troy, >>>>>>> >>>>>>> Would you be able to post a sample of your working code? I'm also >>>>>>> trying to use HIT-6130 and having issues. Here's my code so far: >>>>>>> >>>>>>> byte[] request = new byte[] {0x00}; >>>>>>> byte[] response = new byte[0]; >>>>>>> Log.i("Sending MR command"); >>>>>>> boolean result = twi.writeRead(0x27, false, request, >>>>>>> request.length, response, response.length); >>>>>>> Log.i("MR command result: " + result); >>>>>>> Thread.sleep(100); >>>>>>> response = new byte[4]; >>>>>>> Log.i("Sending DF command"); >>>>>>> result = twi.writeRead(0x27, false, request, request.length, >>>>>>> response, response.length); >>>>>>> Log.i("DF command result: " + result); >>>>>>> >>>>>>> After the second writeRead, I get a ConnectionLostException and the >>>>>>> last log message never gets printed. Any help would be appreciated. >>>>>>> >>>>>>> >>>>>>> On Wednesday, June 5, 2013 5:31:19 AM UTC-7, Troy Collinsworth wrote: >>>>>>>> >>>>>>>> Awesome sauce!!! That worked like a charm. Thanks for the quick >>>>>>>> response. >>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ioio-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "ioio-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/ioio-users. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "ioio-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/ioio-users. >> For more options, visit https://groups.google.com/d/optout. >> > >
-- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/d/optout.
