User Tools

Site Tools


acsim_toolbox_c

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
acsim_toolbox_c [2006/08/09 11:21]
audiocommander added toolbox header
acsim_toolbox_c [2007/11/17 16:48] (current)
smashtv move acsim.zip to "acsim" namespace
Line 1: Line 1:
 + This page is part of the [[mios_c_simulator_-_debugger]]
  
 +[[acsim_console_h|ACSim_console.h]]\\
 +[[acsim_console_c|ACSim_console.c]]\\
 +
 +[[acsim_mios_h|ACSim_mios.h]]\\
 +[[acsim_mios_c|ACSim_mios.c]]\\
 +
 +[[acsim_toolbox_h|ACSim_toolbox.h]]\\
 +**[[acsim_toolbox_c|ACSim_toolbox.c]]**\\
 +[[acmididefines|ACMidiDefines.h]]\\
 +\\
 +This code is for viewing only and may not be up to date. You can download the files in a zip file {{acsim:​acsim.zip}}. If you make any updates, please send them to stryd_one and he will update the zip for you.
 +\\
 +\\
 +<code 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 "​ACSim_toolbox.h"​
 +
 +#import "​ACSim_console.h"​
 +
 +
 +
 +
 +// 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); }
 +
 +
 +
 +
 +// hexview output
 +// maybe configure defines in header!
 +
 +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++;
 + }
 +}
 +
 +
 +</​code>​