Пример #1
0
void mockTest() {
    int x, y;
    displayfd = checkAndOpenFile(displayfd, DISPLAYFILE);
    fprintf(displayfd, "DISPLAY:\n");
    for (y=0; y < 64; y++) {
        for(x=0; x < 128; x++) {
            fprintf(displayfd, "%i", display[x][y]);
        }
        fprintf(displayfd, "\n");
    }
}
		ContactThumbnailMediaItemBackupObject ContactThumbnailMediaItemBackupObject::fromFile(QDir const& path, QString const& filename) {
			if ((!filename.startsWith(QStringLiteral("message_thumbnail_"))) || (filename.size() != 54)) {
				throw openmittsu::exceptions::IllegalArgumentException() << "The file " << filename.toStdString() << " does not look like a contact thumbnail media item.";
			}
			QString const uuid = filename.right(36); // Length of the UUID
			
			QFile file(path.filePath(filename));
			checkAndOpenFile(file);
			QByteArray const data = file.readAll();
			file.close();

			return ContactThumbnailMediaItemBackupObject(data, uuid);
		}
Пример #3
0
void digitalWrite(int pin, int value) {
    commandfd = checkAndOpenFile(commandfd, COMMANDFILE);

    if (pin == di) {
        modus = value;
    }

    if (pin == 0 && value == 0) {
        fprintf(commandfd, "SET COMMAND\n");
    }
    if (pin == 0 && value == 1) {
        fprintf(commandfd, "SET WRITE\n");
    }
}
Пример #4
0
int wiringPiSPIDataRW(int channel, unsigned char *data, int len) {
    int c, cmd;

    commandfd = checkAndOpenFile(commandfd, COMMANDFILE);
    if (modus == 0) {
        fprintf(commandfd, "COMMAND: ");
        cmd = (int)data[0];
        if (cmd <= CMDSETPAGEADR+7 && cmd >= CMDSETPAGEADR) {
            page = cmd - CMDSETPAGEADR;
        }
    } else {
        fprintf(commandfd, "WRITE: ");
        writePage(data, len);
    }

    for (c = 0; c < len; c++) {
        fprintf(commandfd, "%X", data[c]);
    }
    fprintf(commandfd, "\n");
    if (page == 7 && modus == 1) {
        mockTest();
    }
    return 3;
}
Пример #5
0
/** Open all required output files
	
	Note: for LLgen output an output file is created for each input file. 
	Further, two files, <prefix>pars.h and <prefix>pars.c, are created.
*/
static void openOutputs(void) {
	const char *cExtension = "c", *hExtension = "h";
	FileListItem *currentItem;
	const char *inputName, *prefixText;
	char *outputName;
	size_t lenPrefix;
	int i;

	if (option.extensions) {
		char *extension = listIndex(option.extensions, 0);
		if (extension != NULL)
			cExtension = extension;
		if (listSize(option.extensions) > 1 && (extension = listIndex(option.extensions, 1)) != NULL)
			hExtension = extension;
	}
	
	outputs = newList();
	
	if (listSize(option.inputFileList) == 0) {
		ASSERT(option.outputBaseName != NULL);
		currentItem = (FileListItem *) safeMalloc(sizeof(FileListItem), "openOutputs");
		/* Note that for LLgen style outputs the use of include files is
		   prohibited, so fileName still points to the string "<stdin>". */
		currentItem->sourceFileName = fileName;
		currentItem->firstNonTerminal = true;
		outputName = createNameWithExtension(option.outputBaseName, cExtension);
		currentItem->output = checkAndOpenFile(outputName, true);
		listAppend(outputs, currentItem);
	} else {
		/* Open the different output files */
		for (i = 0; i < listSize(option.inputFileList); i++) {
			inputName = (const char *) listIndex(option.inputFileList, i);
			
			currentItem = (FileListItem *) safeMalloc(sizeof(FileListItem), "openOutputs");
			currentItem->sourceFileName = inputName;
			/* Set the flag that indicates that we haven't yet generated a
			   NonTerminal */
			currentItem->firstNonTerminal = true;
			
			/* For LLgen style outputs we never keep the directory, as multiple 
			   directories may be present for different files. */
			inputName = baseName(inputName);
			outputName = createNameWithExtension(inputName, cExtension);
			for (i = 0; i < listSize(outputs); i++) {
				FileListItem *itemToCheck = (FileListItem *) listIndex(outputs, i);
				if (strcmp(outputName, itemToCheck->output->name) == 0)
					fatal("Input files %s and %s map to the same output name.\n", itemToCheck->output->name, outputName);
			}
			currentItem->output = checkAndOpenFile(outputName, true);
			listAppend(outputs, currentItem);
		}
	}
	
	/* Open Lpars.h and Lpars.c, or appropriatly prefixed version of them */
	if (prefixDirective == NULL) {
		prefixText = "L";
		lenPrefix = 1;
	} else {
		prefixText = prefixDirective->token[0]->text;
		lenPrefix = strlen(prefixText);
	}

	outputName = (char *) safeMalloc(strlen(prefixText) + 6 + strlen(hExtension), "openOutputs");
	sprintf(outputName, "%spars.%s", prefixText, hExtension);
	hOutput = checkAndOpenFile(outputName, false);
	outputName = (char *) safeMalloc(strlen(prefixText) + 6 + strlen(cExtension), "openOutputs");
	sprintf(outputName, "%spars.%s", prefixText, cExtension);
	cOutput = checkAndOpenFile(outputName, true);
}