Nothing obviously wrong with your code.
Since (if I understand correctly) your FPGA is also under development, your
best way to proceed is to capture the SPI lines with a logic analyzer and
see whether the IOIO is sending valid data.
Also, why doesn't Log.d work in your looper? It normally does.


On Thu, Jun 5, 2014 at 3:03 AM, Sidharta Prahladsingh <[email protected]
> wrote:

> oh also spi is fixed. "spi_ = ioio_.openSpiMaster(new DigitalInput.Spec(4,
>      Mode.PULL_UP), new DigitalOutput.Spec(5),
>      new DigitalOutput.Spec(3),
>      new DigitalOutput.Spec[] { new DigitalOutput.Spec(2) },
>      new SpiMaster.Config(Rate.RATE_1M, false, true));" worked better than
> "spi_ = ioio_.openSpiMaster(4, 5, 3, 2, SpiMaster.Rate.RATE_1M);" in our
> situation.
> The latter produced double information.
>
> On Thursday, June 5, 2014 11:51:04 AM UTC+2, Sidharta Prahladsingh wrote:
>
>> Since it would be too much code to go through, I will just at my imports,
>> MainActivity with global variables and the Looper class:
>> Global variables and imports:
>>
>> import java.io.BufferedInputStream;
>>
>> import java.io.File;
>>
>> import java.io.FileOutputStream;
>>
>> import java.io.IOException;
>>
>> import java.io.InputStream;
>>
>> import java.io.InputStreamReader;
>>
>> import java.net.MalformedURLException;
>>
>> import java.net.URL;
>>
>> import java.net.URLConnection;
>>
>> import java.nio.ByteBuffer;
>>
>> import java.util.ArrayList;
>>
>> import java.util.Arrays;
>>
>> import java.util.List;
>>
>> import java.util.concurrent.ExecutionException;
>>
>>
>> import android.R.style;
>>
>> import android.graphics.Bitmap;
>>
>> import android.graphics.Bitmap.Config;
>>
>> import android.graphics.BitmapFactory;
>>
>> import android.graphics.Canvas;
>>
>> import android.graphics.Color;
>>
>> import android.graphics.Matrix;
>>
>> import android.graphics.Paint;
>>
>> import android.graphics.Rect;
>>
>> import android.graphics.Paint.Style;
>>
>> import android.os.AsyncTask;
>>
>> import android.os.Bundle;
>>
>> import android.os.Environment;
>>
>> import android.util.Log;
>>
>> import android.view.Menu;
>>
>> import android.view.MenuInflater;
>>
>> import android.view.MenuItem;
>>
>> import android.view.MotionEvent;
>>
>> import android.view.VelocityTracker;
>>
>> import android.view.View;
>>
>> import android.view.WindowManager;
>>
>> import ioio.lib.api.DigitalInput;
>>
>> import ioio.lib.api.DigitalInput.Spec.Mode;
>>
>> import ioio.lib.api.DigitalOutput;
>>
>> import ioio.lib.api.IOIO;
>>
>> import ioio.lib.api.SpiMaster;
>>
>> import ioio.lib.api.SpiMaster.Rate;
>>
>> import ioio.lib.api.Uart;
>>
>> import ioio.lib.api.exception.ConnectionLostException;
>>
>> import ioio.lib.util.BaseIOIOLooper;
>>
>> import ioio.lib.util.IOIOLooper;
>>
>> import ioio.lib.util.android.IOIOActivity;
>>
>> import android.view.View.OnClickListener;
>>
>> import android.annotation.TargetApi;
>>
>> import android.app.AlarmManager;
>>
>> import android.app.Dialog;
>>
>> import android.app.PendingIntent;
>>
>> import android.content.Context;
>>
>> import android.content.Intent;
>>
>> import android.database.Cursor;
>>
>> import android.net.Uri;
>>
>> import android.os.Build;
>>
>> import android.provider.MediaStore;
>>
>> import android.widget.ArrayAdapter;
>>
>> import android.widget.Button;
>>
>> import android.widget.CheckBox;
>>
>> import android.widget.EditText;
>>
>> import android.widget.FrameLayout;
>>
>> import android.widget.ImageView;
>>
>> import android.widget.LinearLayout;
>>
>> import android.widget.Spinner;
>>
>> import android.widget.TextView;
>>
>> public class MainActivity extends IOIOActivity{
>>  //initiation attributes
>> private EditText custtext;
>> private EditText urltxt;
>> private Button custtxtbut;
>>  private Button urlshare;
>> private Button picdisplayButton;
>> private Button rstButton;
>>  private ImageView pictest;
>> private static ImageView pictest2;
>> private static ImageView pictest3;
>>  private ImageView pictest4;
>> private GifView gifView;
>> private GifDecoder decoder;
>> private VelocityTracker mVelocityTracker = null;
>>  private static TextView test;
>>
>> //intiation variables
>> //width and height of the LED-matrix
>>  private static int picw =33;
>> private static int pich = 5;
>> private static boolean isgif = false;
>>  private boolean bkgchk;
>> private boolean check = true;
>> private int bkgclr = 0;
>> private int txtclr = 3;
>>  private static byte[] buffer = new byte[picw*pich*3]; //<----------
>> This I want to read out in Looper
>> public static List<Bitmap> bmlist = new ArrayList<Bitmap>();
>>  private static Bitmap lastpic = null;
>> private float touchposx;
>> private float touchposy;
>>  private float deltax;
>> private float deltay;
>> private Bitmap lastfullbm = null;
>> private Bitmap touchpic =null;
>>  private Bitmap oldtouchpic =null;
>>
>> private static byte[] bufferin= new byte[picw*pich*3];
>>
>> private static boolean picdone = true;
>>
>>
>> *Looper Class:*
>>
>> static class Looper extends BaseIOIOLooper {
>>
>>  //initiation of SPI protocol variable
>>
>>  private SpiMaster spi_;
>>
>>  private DigitalOutput pin8;
>>
>>  @Override
>>
>>  protected void setup() throws ConnectionLostException {
>>
>>
>>  pin8 = ioio_.openDigitalOutput(8, false);//image_enable
>>
>>
>> }
>>
>>     @Override
>>
>>  public void loop() throws ConnectionLostException, InterruptedException
>> {
>>
>>  if (picdone == false)
>>
>>  {
>>
>>  if (!isgif){
>>
>> //picture send process
>>
>>  spi_ = ioio_.openSpiMaster(new DigitalInput.Spec(4,
>>
>>
>>      Mode.PULL_UP), new DigitalOutput.Spec(5),
>>
>>      new DigitalOutput.Spec(3),
>>
>>      new DigitalOutput.Spec[] { new DigitalOutput.Spec(2) },
>>
>>      new SpiMaster.Config(Rate.RATE_1M, false, true));
>>
>>  byte[] buffer_= buffer;
>>
>>   int buffernum = (int) Math.ceil(buffer_.length/48);
>>
>>
>>  byte[] buffer1_= new byte[48];
>>
>>  byte[] packetlast= new byte[48];
>>
>>  pin8.write(true);
>>
>>
>>  Thread.sleep(500);
>>
>>  for (int i =0;i<buffernum;i++){
>>
>>  System.arraycopy(buffer_, i*48, buffer1_, 0, 48);
>>
>>
>>  spi_.writeRead( buffer1_, buffer1_.length,
>>
>>
>> buffer1_.length, null,0);* <------- e.g. I want to read here the MISO
>> and display it on the phone or display the buffer array from here to phone.
>> Log.d also doesnt work here but everywhere else.*
>>
>>  Thread.sleep(100);
>>
>>
>> }
>>
>>  Thread.sleep(500);
>>
>>  pin8.write(false);
>>
>>  spi_.close();
>>
>>  }
>>
>>
>> else
>>
>>  {
>>
>>  //GIF send process
>>
>>   isgif = false;
>>
>>  }
>>
>> picdone =true;//must be true to send 1 image per time.
>>
>>  }
>>
>>  }
>>
>>
>>
>>
>>  }
>>
>>
>>  protected IOIOLooper createIOIOLooper() {
>>
>>  return new Looper();
>>
>> }
>>
>> On Wednesday, June 4, 2014 5:55:40 PM UTC+2, Ytai wrote:
>>
>> Regarding SPI: there shouldn't be any lost data. I would try connecting a
>> logic analyzer on MOSI/CLK to verify that.
>> Note that you can do up to 64 bytes on each transaction.
>> To answer the other question I need to look at your code. The static
>> variables should work as you expect, but there's probably something else
>> about your code that you're missing.
>>
>>
>> On Wed, Jun 4, 2014 at 4:33 AM, Sidharta Prahladsingh <sidki...@
>>
>> ...
>
>  --
> 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.

Reply via email to