OpenCores
URL https://opencores.org/ocsvn/fpga-cf/fpga-cf/trunk

Subversion Repositories fpga-cf

[/] [fpga-cf/] [trunk/] [java/] [src/] [edu/] [byu/] [cc/] [plieber/] [fpgaenet/] [examples/] [ClockControl.java] - Rev 7

Compare with Previous | Blame | View Log

/**
 * 
 */
package edu.byu.cc.plieber.fpgaenet.examples;
 
import java.util.ArrayList;
 
import edu.byu.cc.plieber.fpgaenet.fcp.FCPException;
import edu.byu.cc.plieber.fpgaenet.fcp.FCPProtocol;
 
/**
 * @author Peter Lieber
 *
 */
public class ClockControl {
 
	private FCPProtocol protocol;
	private int channel;
	/**
	 * 
	 */
	public ClockControl(FCPProtocol p, int c) {
		protocol = p;
		channel = c;
	}
 
	public void deassertAll() {
		try {
			protocol.sendData(channel, (byte)0);
		} catch (FCPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public void assertReset() {
		try {
			protocol.sendData(channel, (byte)0);
			protocol.sendData(channel, (byte)0x04);
		} catch (FCPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public void singleStep() {
		try {
			protocol.sendData(channel, (byte)0);
			ArrayList<Byte> data = new ArrayList<Byte>();
			data.add((byte)0x00);
			data.add((byte)0x00);
			data.add((byte)0x00);
			data.add((byte)0x01);
			data.add((byte)0x01);
			protocol.sendData(channel, data);
		} catch (FCPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public void runClock(int numClocks) {
		try {
			protocol.sendData(channel, (byte)0);
			ArrayList<Byte> data = new ArrayList<Byte>();
			data.add((byte)((numClocks >> 24) & 0xff));
			data.add((byte)((numClocks >> 16) & 0xff));
			data.add((byte)((numClocks >> 8) & 0xff));
			data.add((byte)(numClocks & 0xff));
			data.add((byte)0x01);
			protocol.sendData(channel, data);
		} catch (FCPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public void freeRunClock() {
		try {
			protocol.sendData(channel, (byte)0);
			protocol.sendData(channel, (byte)0x02);
		} catch (FCPException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public int getChannel() {
		return channel;
	}
 
	public void setChannel(int channel) {
		this.channel = channel;
	}
 
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.