aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ginput
Commit message (Expand)AuthorAgeFilesLines
* Replace all inline definitions with GFXINLINEinmarket2015-10-235-16/+16
* Adding first version of STM32F7 discovery touch driverJoel Bodenmann2015-07-221-35/+21
* Adding FT5336 touch driver. Not tested yet.Joel Bodenmann2015-07-214-0/+422
* Fix in FT5x06 touch driverJoel Bodenmann2015-07-101-1/+1
* Revert "Fix in FT5x06 touch driver"Joel Bodenmann2015-07-101-1/+1
* Fix in FT5x06 touch driverJoel Bodenmann2015-07-101-1/+1
* Fix compiler warningsinmarket2015-02-283-0/+3
* Fix self calibration for touch devices FT5x06 and STMPE610inmarket2015-02-282-7/+23
* Replace missing breaks.inmarket2015-02-251-0/+2
* Fix to STMPE811 touch driver to fix self-calibration in other orientationsinmarket2015-02-231-2/+15
* Add touch driver STMPE610 by lliypukinmarket2015-02-235-0/+411
* Big file rename to reduce problems with brain-dead IDE's that don't handle pr...inmarket2015-01-217-7/+7
* Fixing wrong define in ADS7843 driverJoel Bodenmann2015-01-021-1/+1
* Spacing, comments and spelling mistakesinmarket2014-11-151-12/+4
* Fixing MAX11802 driver (by user steved)Joel Bodenmann2014-11-143-20/+32
* Some MAX11802 fixes.inmarket2014-11-102-11/+18
* MCU touch template fixinmarket2014-11-101-1/+1
* Update default settings in the board file for the ADS7843 touchinmarket2014-11-101-6/+6
* Update to MAX11802 touch driver. To be tested.inmarket2014-11-102-67/+75
* Added MAX11802 driver - NOT WORKING YET - read_xyz() not ported yetJoel Bodenmann2014-11-094-0/+276
* Fix the newmouse STMPE811 driver.inmarket2014-11-074-79/+178
* Allow a mouse driver to not return any results when it is polled.inmarket2014-11-072-2/+4
* small fixJoel Bodenmann2014-10-281-2/+2
* Bug fix newmouse SMTPE811 touch driverinmarket2014-10-281-1/+1
* STMPE811 fixes - still not workingJoel Bodenmann2014-10-131-3/+0
* Fixing STMPE811 driverJoel Bodenmann2014-10-131-5/+5
* Port SMTPE811 mouse driver to newmouse (and supported boards)inmarket2014-10-136-188/+223
* Remove unnecessary fileinmarket2014-10-131-18/+0
* Update newmouse driver makefilesinmarket2014-10-132-7/+1
* Convert FT5x06 mouse driver to newmouse (untested)inmarket2014-10-135-136/+166
* Add GMouse parameter to ADS7843 mouse driver to enable multiple drivers.inmarket2014-10-132-22/+19
* Tidy up MCU mouse definesinmarket2014-10-132-30/+19
* fixing ADS7843 driver - testedJoel Bodenmann2014-10-111-5/+14
* Added missing defines to board template of ADS7843Joel Bodenmann2014-10-111-0/+7
* ADS7843 porting - not tested yet!Joel Bodenmann2014-10-115-117/+79
* Board File can now request extra data bytes in the GMouse structure.inmarket2014-10-121-1/+6
* New newmouse driver for MCU touchinmarket2014-10-077-146/+107
* Rename all driver makefiles to driver.mkinmarket2014-08-226-20/+20
* Removed the doxygen inside of every driver as doxygen is only meant for highl...Joel Bodenmann2014-03-2820-464/+1
* Integrate the include files with each module. Simplifies structure of code.inmarket2014-02-196-12/+10
* Update template files for the MCU touch driver.inmarket2013-11-252-14/+43
* Rewrite of the MCU driver. This is now much more reliable.inmarket2013-11-241-40/+40
* Clean up the driver directory structure by moving all board specific files in...inmarket2013-10-288-819/+1
* Create uGFX board directories which include example Makefiles.inmarket2013-10-285-108/+51
* fixed license headersJoel Bodenmann2013-07-2128-28/+28
* doxygen updatesJoel Bodenmann2013-07-211-1/+1
* cleaned up board file messJoel Bodenmann2013-07-2111-288/+208
* doxygen fixJoel Bodenmann2013-06-282-2/+2
* quick board file fixJoel Bodenmann2013-06-241-1/+1
* one more typo fix...Joel Bodenmann2013-06-221-1/+1
Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 *  yosys -- Yosys Open SYnthesis Suite
 *
 *  Copyright (C) 2012  Clifford Wolf <clifford@clifford.at>
 *  
 *  Permission to use, copy, modify, and/or distribute this software for any
 *  purpose with or without fee is hereby granted, provided that the above
 *  copyright notice and this permission notice appear in all copies.
 *  
 *  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 *  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 *  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 *  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 */

#ifndef RTLIL_H
#define RTLIL_H

#include <map>
#include <set>
#include <vector>
#include <string>
#include <assert.h>

std::string stringf(const char *fmt, ...);

namespace RTLIL
{
	enum State {
		S0 = 0,
		S1 = 1,
		Sx = 2, // undefined value or conflict
		Sz = 3, // high-impedance / not-connected
		Sa = 4, // don't care (used only in cases)
		Sm = 5  // marker (used internally by some passes)
	};
	enum SyncType {
		ST0 = 0, // level sensitive: 0
		ST1 = 1, // level sensitive: 1
		STp = 2, // edge sensitive: posedge
		STn = 3, // edge sensitive: negedge
		STe = 4, // edge sensitive: both edges
		STa = 5, // always active
		STi = 6  // init
	};

	extern int autoidx;

	struct Const;
	struct Selection;
	struct Design;
	struct Module;
	struct Wire;
	struct Memory;
	struct Cell;
	struct SigChunk;
	struct SigBit;
	struct SigSpec;
	struct CaseRule;
	struct SwitchRule;
	struct SyncRule;
	struct Process;

	typedef std::pair<SigSpec, SigSpec> SigSig;

#ifdef NDEBUG
	typedef std::string IdString;
#else
	struct IdString : public std::string {
		IdString() { }
		IdString(std::string str) : std::string(str) {
			check();
		}
		IdString(const char *s) : std::string(s) {
			check();
		}
		IdString &operator=(const std::string &str) {
			std::string::operator=(str);
			check();
			return *this;
		}
		IdString &operator=(const char *s) {
			std::string::operator=(s);
			check();
			return *this;
		}
		bool operator<(const IdString &rhs) {
			check(), rhs.check();
			return std::string(*this) < std::string(rhs);
		}
		void check() const {
			assert(empty() || (size() >= 2 && (at(0) == '$' || at(0) == '\\')));
		}
	};
#endif

	static IdString escape_id(std::string str) __attribute__((unused));
	static IdString escape_id(std::string str) {