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.

Reply via email to