Mesa 7i96 Ethernet board

More
20 Jul 2017 22:12 #96185 by andypugh
Replied by andypugh on topic Mesa 7i96 Ethernet board
Changing in to out won't change anything, it will just be more correct.
And if you only changed it in the equation, then the module probably won't even compile.

But the main thing that needs to be done is to fix the equation with the extra brackets.

Please Log in or Create an account to join the conversation.

More
20 Jul 2017 22:58 #96187 by microsprintbuilder
I changed the equation and it appears that the data is correct. however I only have 2 pins connected so it's completely confirmed. still nothing from the board. I'm going to switch the strobe next.

Please Log in or Create an account to join the conversation.

More
20 Jul 2017 23:21 #96188 by microsprintbuilder
Just noticed the red light is on on the board it doesn't appear to be communicating. changed to my old file it works fine. i changed the strobes 0 & 1 back and forth with no change.

Please Log in or Create an account to join the conversation.

More
20 Jul 2017 23:43 #96189 by microsprintbuilder
so I have found that i lose communication when I change the servo-period below 500000 but I can't get a strobe wave unless i"m below 450000.

Please Log in or Create an account to join the conversation.

More
20 Jul 2017 23:44 #96190 by PCW
Replied by PCW on topic Mesa 7i96 Ethernet board
If you have a red light in the 7I96, its most likely that the watchdog has bitten (due to bad latency on the host)
No outputs will work after this happens
The following user(s) said Thank You: snugglylovemuffin

Please Log in or Create an account to join the conversation.

More
20 Jul 2017 23:52 #96191 by PCW
Replied by PCW on topic Mesa 7i96 Ethernet board
I would not set the servo period shorter than 1 ms (1000000)
It may be that the strobe needs to be set every other cycle
(Thats what i did in my script test --> wire strobe to a siggen clock at 500 Hz (every other cycle at 1 KHz servo thread))

Please Log in or Create an account to join the conversation.

More
21 Jul 2017 00:03 #96193 by andypugh
Replied by andypugh on topic Mesa 7i96 Ethernet board

I can't get a strobe wave unless i"m below 450000.


That doesn't make any sense.

Please Log in or Create an account to join the conversation.

More
21 Jul 2017 00:18 #96194 by microsprintbuilder
So would you wire strobe to a siggen clock?

Please Log in or Create an account to join the conversation.

More
21 Jul 2017 00:25 #96195 by microsprintbuilder
LOL, I don't get it either. I put your setup file and the data strobe file in a m100 ,m101,m105 command and they work pretty good. every once and a while they will shut off. I figured it's a latency problem. I'll try to get the machine computer running tomorrow and see what happens. Thanks for helping me through this. :)

Please Log in or Create an account to join the conversation.

More
21 Jul 2017 00:25 #96196 by andypugh
Replied by andypugh on topic Mesa 7i96 Ethernet board

It may be that the strobe needs to be set every other cycle


OK, here is a version of the .comp to do that. You can setp the wait parameter to choose the strobe frequency.
component raw_writer "Example for 7i96 AC outputs";
pin in bit out-# [6] "The input data to be written";
pin out unsigned address "Connect to raw.write_address";
pin out unsigned data "Connect to raw.write_data";
pin out bit strobe "Connect to raw.write_strobe";

param r unsigned state=0 "State machine state";
param rw unsigned wait = 4 "how long to wait between strobes";

function _;
license "GPL";
;;

static int ret; // where to go after pause
static int timer;

FUNCTION(_){
    switch (state){
    case 0: // begin init
        address = 0x7e00;
        data = 0x1030; //enable AC out, set frequency to 2 MHz
        state = 100;
        ret = 2;
        break;
    case 2:
        address = 0x1100;
        data = 0x1f800;
        state = 100;
        ret = 4;
        break;
    case 4:
        address = 0x1200;
        data = 0x1f800;
        state = 100;
        ret = 6;
        break;
    case 6:
        address = 0x1104;
        data = 0x103ff;
        state = 100;
        ret = 8;
        break;
    case 8:
        address = 0x1204;
        data = 0x103ff;
        state = 100;
        ret = 10;
        break;
    case 10: // setup copmplete, now just keep sending pin status
        address = 0x7d00;
        data = out(0) + (out(1)<<1) + (out(2)<<2) 
             + (out(3)<<3) + (out(4)<<4) + (out(5)<<5);
        state = 100;
        ret = 10;
        break;
    case 100: // start timer
        timer = 0;
        strobe = 0;
        state = 101;
        break;
    case 101: 
        if (timer++ > wait){
            strobe = 1;
            state = ret;
        }
        break;
    }
}

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.223 seconds
Powered by Kunena Forum