[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/diku/sensinode/apps/TestMicro41wire TestMicro4.nc, NONE, 1.1 TestMicro4M.nc, NONE, 1.1 Makefile, NONE, 1.1

Marcus Chang marcus_chang at users.sourceforge.net
Thu Mar 15 08:09:26 PDT 2007


Update of /cvsroot/tinyos/tinyos-1.x/contrib/diku/sensinode/apps/TestMicro41wire
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11354/sensinode/apps/TestMicro41wire

Added Files:
	TestMicro4.nc TestMicro4M.nc Makefile 
Log Message:
Added test applications for the Micro.4 platform

* 1-wire: reads unique from 1-wire bus
* accell: continously sampling of acceleration from U510R board
* flash: read/write/erase test
* radio: send/receive/on/off test

--- NEW FILE: TestMicro4.nc ---
configuration TestMicro4 {

}
implementation {
	components Main,TestMicro4M, 
		StdOutC,
		HPL1wireM;

	Main.StdControl -> TestMicro4M.StdControl;

	TestMicro4M.StdOut -> StdOutC.StdOutUart;
	TestMicro4M.HPL1wire -> HPL1wireM.HPL1wire;


}


--- NEW FILE: TestMicro4M.nc ---
module TestMicro4M {
	provides {
		interface StdControl;
	}
	uses {
		interface StdOut;
		interface HPL1wire;
	}
}

implementation {

#define MAX_DEVICES 25


	/**********************************************************************
	** StdControl
	**********************************************************************/
	command result_t StdControl.init() {

		return SUCCESS;
	}

	command result_t StdControl.start() 
    {
        call StdOut.init();
        call StdOut.print("Program initialized\n\r");

		return SUCCESS;
	}

	command result_t StdControl.stop() {
		
		return SUCCESS;
	}




	/**********************************************************************
	** StdOut
	**********************************************************************/
	uint8_t keyBuffer;
	task void consoleTask();
	
	async event result_t StdOut.get(uint8_t data) {
		
		keyBuffer = data;

		post consoleTask();

		return SUCCESS;
	}

	task void consoleTask() 
	{
        b1w_reg devices[MAX_DEVICES];
        uint8_t n_devices = 0;
        uint8_t i, j, retry = 0;
		uint8_t data[2];
		
		atomic data[0] = keyBuffer;

		switch (data[0]) {
		case '\r': 
        
            for (i = 0; i < MAX_DEVICES; i++)
            {
                for (j = 0; j < 8; j++)
                {
                    devices[i][j] = 0;
                }
            }

            while(!n_devices && (retry++ < 5))
            {
                call HPL1wire.enable();
                n_devices = call HPL1wire.search(devices, MAX_DEVICES);
                call HPL1wire.disable();
            }
        

			call StdOut.print("n_devices: ");
			call StdOut.printHex(n_devices);
			call StdOut.print("\n\r");

			for (i = 0; i < n_devices; i++)
			{
				call StdOut.print("Device ");
				call StdOut.printHex(i);
				call StdOut.print(": ");
				call StdOut.dumpHex(devices[i], 8, " ");
				call StdOut.print("\r\n");
			}

			call StdOut.print("\r\n");
			break;
		
		default:
			data[1] = '\0';
			call StdOut.print(data);
			break;
		}
	}



}



--- NEW FILE: Makefile ---
COMPONENT=TestMicro4
include ../Makerules




More information about the Tinyos-contrib-commits mailing list