acsim_toolbox_c
This is an old revision of the document!
This page is part of the mios_c_simulator_-_debugger
ACSim_console.h
ACSim_console.c
/* * ACSim_toolbox.c * v 0.0.5 * * 2006 April 17 Created by Michael Markert, audiocommander.de * Copyright 2006 Michael Markert, http://www.audiocommander.de * hexview based on publicdomain code: http://www.eggdrop.ch/texts/cschnipsel/ * toolbox for mios: http://www.midibox.org * */ /* * Released under GNU General Public License * http://www.gnu.org/licenses/gpl.html * * This program is free software; you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Foundation * * YOU ARE ALLOWED TO COPY AND CHANGE * BUT YOU MUST RELEASE THE SOURCE TOO (UNDER GNU GPL) IF YOU RELEASE YOUR PRODUCT * YOU ARE NOT ALLOWED NOT USE IT WITHIN PROPRIETARY CLOSED-SOURCE PROJECTS */ #import <Stdio.h> #ifndef _ACSIM_TOOLBOX_C #define _ACSIM_TOOLBOX_C #pragma mark random numbers // generate some random numbers unsigned char ACRandomBool(void) { return (random() % 2); } signed char ACRandomEncoder(void) { return ((random() % 2) ? -1 : 1 ); } unsigned char ACRandomPin(void) { return (random() % DEBUG_AIN_NUM); } unsigned char ACRandomChar(void) { return (random() % 128); } unsigned int ACRandomInt(void) { return (random() % 1024); } #pragma mark HEXVIEW // hexview output #define HEXVIEW_COLUMNS 68 #define HEXVIEW_CHARS ((HEXVIEW_COLUMNS-1)/4) void hexview(unsigned char *buf, int size) { /* usage: char buf[256]; strcpy(buf, "some data"); hexview(buf, sizeof(buf)); */ int i; unsigned char c; unsigned char r = 0; while (size>0) { printf("%i:\t\t",(r*16)); for (i=0;i<HEXVIEW_CHARS;i++) { if (size-i>0) { printf("%02x ", (unsigned char)*(buf+i)); } else { printf(" "); } } printf(" "); for (i=0;i<HEXVIEW_CHARS&&size-i>0;i++) { c = (unsigned char)*(buf+i); printf("%c", c>=32&&c<127 ? c : '.'); } buf+=HEXVIEW_CHARS; size-=HEXVIEW_CHARS; printf("\n"); r++; } } #endif /* _ACSIM_TOOLBOX_C */
acsim_toolbox_c.1154909773.txt.gz · Last modified: 2006/10/15 09:35 (external edit)