Problem Starting With the Video Experimenter

Store Forums Video Experimenter Bugs/Problems Problem Starting With the Video Experimenter

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #8169
    Jhahn6
    Participant

    Hello all,

    I have recently purchased the Video Experimenter for a project. However, I have yet to get the Overlay Demo code to run correctly. I am currently using an original Xbox as a composite input, and once the Demo has been uploaded successfully, no changes to the Xbox home screen have taken place. Here are some screenshots of the file folders:

    If anyone happens to have in advise as to how to get the Demo working properly, I would greatly appreciate it.

    Cheers!

    #8170
    Jhahn6
    Participant

    It seems as though the links to the file folder pictures aren’t appearing. Below are raw URL’s:

    View post on imgur.com

    View post on imgur.com

    View post on imgur.com

    #8171
    Michael
    Keymaster

    What are your settings for the jumper and the switch? The sync-select jumper should be set to V.INPUT and the output select switch set to OVERLAY.
    Also adjust the R4 potentiometer down to the lowest level.

    #8173
    Jhahn6
    Participant

    Hello Michael,

    Firstly, thank you for the quick response. I have the jumper set to V.INPUT and the output select switch set to Overlay. As for the R4 potentiometer, it is set to the counter-clockwise most position.

    Cheers!

    #8174
    Jhahn6
    Participant

    I have been looking through the forum threads and have identified the same problem some others have described. When using basic sketches to print “test”, the image seems to run across the page. More specifically there are multiple test images flashing in rows from left to right.

    FYI I purchased the pre-assembled kit from you guys and haven’t changed the configuration at all. Listed below is an image of the experimenter:

    View post on imgur.com

    I apologize for the focus, I did the best I could to get all of the details.

    #8175
    Jhahn6
    Participant

    Here is an image of what is happening on the monitor:

    View post on imgur.com

    Here is the simple code I am using:

    #include <TVout.h>
    #include <fontALL.h>

    #define W 136
    #define H 96

    TVout tv;
    unsigned char x,y;
    unsigned char originx = 5;
    unsigned char originy = 80;
    unsigned char plotx = originx;
    unsigned char ploty = 40;
    char s[32];
    unsigned int n = 0;
    int index = 0;
    int messageLen = 32;
    char message[] = “…OVERLAY TEXT AND GRAPHICS ON A VIDEO SIGNAL…OVERLAY TEXT AND GRAPHICS ON A VIDEO SIGNAL”;
    char saveChar;

    void setup() {
    tv.begin(NTSC, W, H);
    tv.select_font(font6x8);
    tv.fill(0);
    randomSeed(analogRead(0));
    }

    void loop() {
    // put your main code here, to run repeatedly:
    tv.print(“Test”);
    }

    #8176
    Michael
    Keymaster

    Yes, that program does the same thing for me. Your code is missing the required initialization code for the Video Experimenter overlay. Did you try the OverlayDemo from here:
    http://nootropicdesign.com/projectlab/2011/03/20/text-and-graphics-overlay/

    That should work no problem. Notice the function initOverlay() that sets up your ability to overlay pixels on video. And the required function ISR(INT0_vect). These must be in your program.

    Try this code to print “Test” in random locations on the screen:

    #include <TVout.h>
    #include <fontALL.h>
    #define W 136
    #define H 96
    TVout tv;
    
    void setup() {
      tv.begin(NTSC, W, H);
      initOverlay();
      tv.select_font(font6x8);
      tv.fill(0);
      randomSeed(analogRead(0));
    }
    
    // Initialize ATMega registers for video overlay capability.
    // Must be called after tv.begin().
    void initOverlay() {
      TCCR1A = 0;
      // Enable timer1.  ICES0 is set to 0 for falling edge detection on input capture pin.
      TCCR1B = _BV(CS10);
    
      // Enable input capture interrupt
      TIMSK1 |= _BV(ICIE1);
    
      // Enable external interrupt INT0 on pin 2 with falling edge.
      EIMSK = _BV(INT0);
      EICRA = _BV(ISC11);
    }
    
    // Required to reset the scan line when the vertical sync occurs
    ISR(INT0_vect) {
      display.scanLine = 0;
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      tv.print(random(0, 110), random(0, 80), "Test");
      tv.delay_frame(5);
    }
    #8177
    Jhahn6
    Participant

    Thank you very much for looking into it. I greatly appreciate it. I will relay back the results shortly.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.