Welcome Guest [Log In] [Register]
Welcome to Round Table Knights Clan. Enjoy your visit!




Username:   Password:
Add Reply
Eido
Topic Started: Sep 3 2009, 03:16 PM (336 Views)
Dagonet of Rus
Member Avatar
Retired Knight of the Round Table

And the Lord said unto the ether "Let there be ham & egg sarnies" and lo there came into Mizi the egg before the chicken. Unfortunately it gave Him wind and the first kamikaze was let loose upon the Mitzi.


I just thought i'd call to say I love you. This forum still makes my gadfly twitch.

Yours as sincerely as a billy goat tied to a pole in Verdoeskeghem.

Hope you all have absolutely fabulous days, darlings.
Offline Profile Quote Post Goto Top
 
YellowMelon
Member Avatar
Retired Applicant
Dag, you make my pants happy.
Offline Profile Quote Post Goto Top
 
Caradoc of Mercia
Member Avatar
Knight
OMG it's alive! :eek:

Good to see you around again, been up to much other than the usual disreputable activities? :booze:
Offline Profile Quote Post Goto Top
 
YellowMelon
Member Avatar
Retired Applicant
Cow means boning dudes
Offline Profile Quote Post Goto Top
 
Barrett of Maidstone
Member Avatar
Retired Knight
Hi dag :yuk:
Offline Profile Quote Post Goto Top
 
stoicblitzer
Member Avatar
Retired Knight
wic?
Offline Profile Quote Post Goto Top
 
Mercurius of Cappadocia
Member Avatar
King of the Round Table Knights
Return of Daglorious????

I too am aroused.... :D
Offline Profile Quote Post Goto Top
 
stoicblitzer
Member Avatar
Retired Knight
you wish he was returning. this is just his semiannual "######" post.
Offline Profile Quote Post Goto Top
 
Dinadan of Logris
Member Avatar
Master of Spam
Barrett of Maidstone,Sep 3 2009
07:44 PM
Hi dag

+1
Offline Profile Quote Post Goto Top
 
Caradoc of Mercia
Member Avatar
Knight
Dinadan of Logris,Sep 4 2009
11:00 AM
+1

-1
Offline Profile Quote Post Goto Top
 
Barrett of Maidstone
Member Avatar
Retired Knight
Caradoc of Mercia,Sep 4 2009
12:00 PM
Dinadan of Logris,Sep 4 2009
11:00 AM
+1

-1

X*k = F(k) (X*k)?
Offline Profile Quote Post Goto Top
 
Caradoc of Mercia
Member Avatar
Knight
Barrett of Maidstone,Sep 4 2009
12:18 PM
Caradoc of Mercia,Sep 4 2009
12:00 PM
Dinadan of Logris,Sep 4 2009
11:00 AM
+1

-1

X*k = F(k) (X*k)?

X*k = F(k) (X*k)

=> X*k / X*k = F(k) (X*k) / X*k
=> 1 = F(k)

Of course you didn't define the function F so can't really get any further. Unless you were meaning F(k) = F*k so we'd get 1= F * k => F = 1/k. :P
Offline Profile Quote Post Goto Top
 
YellowMelon
Member Avatar
Retired Applicant
dont use math...blitz might write code for a infrared robot to kill your formulae
Offline Profile Quote Post Goto Top
 
stoicblitzer
Member Avatar
Retired Knight
/*********DIE COW!**********/

/* Main loop */
//---------------

void main(void)
{
unsigned int i; // miscellaneous variable
char ad_result; // calculated ADC char for LCD display
char lcd_text[9]; // character array which holds the text to display to screen

char lcd_text1[1];

/* Initializations */
mcu_init(); // Initialize MCU clock

/* Start the 32Khz crystal sub clock */
prc0 = UNLOCK; // Unlock CM0 and CM1
pd8_7 = INPUT; // setting GPIO to inputs (XCin/XCout)
pd8_6 = INPUT;

// Set direction for the emitters (INPUTS) and detectors (OUTPUTS)
pd10_2 = INPUT;
pd10_3 = OUTPUT;
pd10_4 = INPUT;
pd10_5 = OUTPUT;
pd10_6 = INPUT;
pd10_7 = OUTPUT;

cm04 = ON; // Start the 32KHz crystal

//Turn on Emitters
p10_3 = ON;
p10_5 = ON;
p10_7 = ON;




ENABLE_SWITCHES /* Switch initialization - macro defined in skp_bsp.h */
ENABLE_LEDS /* LED initialization - macro defined in skp_bsp.h */

/* ADC initialization */
/* Use the sample frequency fAD/2 in order not to exceed the max sample speed */
/* Configure ADC - AN0 (Analog Adjust Pot) */
adcon0 = 0x90; // AN0, single sweep mode, software trigger, fAD/2
adcon1 = 0x2B; // AN0-AN1, 10-bit mode, Vref connected.


/* Timer initialization */
/* Configure Timer A0 - 100ms (millisecond) counter */
ta0mr = 0xc0; // Timer mode, fc32, no pulse output
ta0 = (int)(( 1023*.1)-1);

/* Change interrupt priority levels to enable maskable interrupts */
DISABLE_IRQ // disable irqs before setting irq registers - macro defined in skp_bsp.h
ta0ic = LEVEL2; // Set the timer's interrupt priority to level 2
ENABLE_IRQ // enable interrupts macro defined in skp_bsp.h

/* Start timers */
ta0s = ON; // Start timer A0

InitDisplay(); // Initialize LCD

update_lcd = SETFLAG; // display first AD value

// drive_straight();

while (ON){

//if QSK restarts, and potentiometer less than 600, car isn't in drive mode.

if (ad0_value < 600) {

lcd_screen();

}
else {

motor();

}

}




}


/*****************************************************************************
Name: ta0_irq
Parameters: None
Returns: None
Description: This is the timer A0 interrupt routine. It occurs every 100 ms.
An AD conversion process is takes place and the measured AD value
is shown on the LCD and saved in global variables.
*****************************************************************************/


#pragma INTERRUPT ta0_irq //interrupt vector defined in sect30.inc
void ta0_irq(void)
{
//locals used to hold the old values for comparison on the next "go-round"
static int old_ad0, old_ad1, old_ad2, old_ad4, old_ad6;


ticks_100ms++;

adst = TRUE; // get new AD sample every ms
while (adst == TRUE); // wait for AD conversion to complete




ad0_value = ad0; // get AN0 (Analog Adjust pot) ADC data
ad1_value = ad1; // get AN1 (Thermistor) ADC data

ad2_value = ad2; // get Left Detector
ad4_value = ad4; // get Center Detector
ad6_value = ad6; // get Right Detector

/* Only signal to update LCD if the value has changed */
if( old_ad0 != ad0_value)
update_lcd = TRUE; // LCD needs to be updated

if( old_ad1 != ad1_value)
update_lcd = TRUE; // LCD needs to be updated

if( old_ad2 != ad2_value)
update_lcd = TRUE; // LCD needs to be updated

if( old_ad4 != ad4_value)
update_lcd = TRUE; // LCD needs to be updated

if( old_ad6 != ad6_value)
update_lcd = TRUE; // LCD needs to be updated



old_ad0 = ad0_value; // save value for next time
old_ad1 = ad1_value; // save value for next time
old_ad2 = ad2_value; // save value for next time
old_ad4 = ad4_value; // save value for next time
old_ad6 = ad6_value; // save value for next time

}

/*****************************************************************************
Name: led_display
Parameters: count
Returns: None
Description: Controls LED display.
*****************************************************************************/
void led_display(char count)
{

switch (count) {
case 1: /* green on */
RED_LED = LED_OFF;
YLW_LED = LED_OFF;
GRN_LED = LED_ON;
break;
case 2:
RED_LED = LED_ON;
YLW_LED = LED_ON;
GRN_LED = LED_ON; /* yellow on */
case 4:
RED_LED = LED_OFF;
YLW_LED = LED_ON;
GRN_LED = LED_OFF;
break;
case 3: /* red on */
RED_LED = LED_ON;
YLW_LED = LED_OFF;
GRN_LED = LED_OFF;
break;
default: /* all LED's off */
RED_LED = LED_OFF;
YLW_LED = LED_OFF;
GRN_LED = LED_OFF;
}
}


/*****************************************************************************
Name: IntToAsciiHex
Parameters:
dest_string
Pointer to a buffer will the string will reside
min_digits
Specifies the minimum number of characters the output string will
have. Leading zeros will be written as '0' characters.
Returns:
A pointer to the string's NULL character in the string that was just
created.
Description:
This function is used to convert a passed unsigned int into a ASCII
string represented in Hexidecimal format.
*****************************************************************************/
char * IntToAsciiHex(char * dest_string,int min_digits,unsigned int value)
{
unsigned int i, total_digits = 0;
char buff[4];

for(i=0;i<4;i++) {
buff = (char)(value & 0x0F);
value = value >> 4;
if( buff <= 9)
buff += '0';
else
buff = (char)(buff - 0xA + 'A');

if(buff != '0')
total_digits = i+1;
}

if( total_digits < min_digits)
total_digits = min_digits;

i = total_digits;

while(i) {
*dest_string++ = buff[i-1];
i--;
}

*dest_string = 0;

return dest_string;
}


/*****************************************************************************
Name: IntToAsciiDec
Parameters:
dest_string
Pointer to a buffer will the string will reside
min_digits
Specifies the minimum number of characters the output string will
have. Leading zeros will be written as '0' characters.
Returns:
A pointer to the string's NULL character in the string that was just
created.
Description:
This function is used to convert a passed unsigned int into a ASCII
string represented in base 10 decimal format.
*****************************************************************************/
char * IntToAsciiDec(char * dest_string,int min_digits,unsigned int value)
{
const unsigned long base10[] = {1,10,100,1000,10000,100000};

unsigned int tmp;
unsigned int i, total_digits = 0;
char buff[5];

for(i=0;i<5;i++) {
tmp = (int)( value % base10[i+1] );
value -= tmp;

buff = (char)( tmp / base10 );
buff += '0';

if(buff != '0')
total_digits = i+1;
}

if( total_digits < min_digits)
total_digits = min_digits;

i = total_digits;

while(i) {
*dest_string++ = buff[i-1];
i--;
}

*dest_string = 0;

return dest_string;
}

/*****************************************************************************
Name: lcd_screen
Parameters:
none
Returns:
nothing
Description:
This function is used to display the output (digital signal) from the ADC's
with intergers on the LCD screen.
It also displays different things on the LCD screen depending on how far the
potentiometer is turned.
*****************************************************************************/


void lcd_screen(void) {


if (update_lcd) {

/* Local arrays used to hold the text strings to send to the LCD */

char lcd_displayleft[9];
char lcd_displaycenter[9];
char lcd_displayright[9];

/* Converted digital signal from Potentiometer is converted by function into the character array */

IntToAsciiDec(lcd_displayleft,4,ad2_value);
IntToAsciiDec(lcd_displaycenter,4,ad4_value);
IntToAsciiDec(lcd_displayright,4,ad6_value);

/* Code which sets the display of the LCD depending on how far potentiometer turned */
if(((ad0_value) > 900) & ((ad0_value) < 1030)){
DisplayString(LCD_LINE1," ");
DisplayString(LCD_LINE2," ");
}

if(((ad0_value) > 800) & ((ad0_value) < 900)){
DisplayString(LCD_LINE1,"Team BPS");
DisplayString(LCD_LINE2,"Jrpoole");
}

if(((ad0_value) > 700) & ((ad0_value) < 800)){
DisplayString(LCD_LINE1,"Team BPS");
DisplayString(LCD_LINE2,"Atsnipes");
}
Offline Profile Quote Post Goto Top
 
YellowMelon
Member Avatar
Retired Applicant
pls dont
Offline Profile Quote Post Goto Top
 
Barrett of Maidstone
Member Avatar
Retired Knight
IVE RELEASED A MONSTER :lol:
Offline Profile Quote Post Goto Top
 
Pete of Yorkshire
Member Avatar
Knight
ahhh daggy the most elequent internet sosicopath i know :)


how are you?

ill expect a reply at christmas
Offline Profile Quote Post Goto Top
 
Adelmo Of Otranto
Member Avatar
Head Knight
Sends love to the Dag :)
Offline Profile Quote Post Goto Top
 
Agravain of Orkney
Member Avatar
Retired Knight and Realm Advisor
Hello Dagonet

:chugger:
Offline Profile Quote Post Goto Top
 
Drowningpool
Member Avatar

Dago i need to stay at your pad for a bit.
Offline Profile Quote Post Goto Top
 
Highlander_aka_grim

What in the hell O_o
Offline Profile Quote Post Goto Top
 
Dagonet of Rus
Member Avatar
Retired Knight of the Round Table
I feel like a midget, isn't there a sig size limit?

Apparently F*k {void} summons Agra?

Suppose that must be the next level materia or something.

Hello my lovely jubbly cheeky chappies!

Bonking dudes..something I've always wondered was - how does somebody know if they like buttsechs before they've tried it. I mean I hear nursery supervisors moaning that kids nowadays aren't even taught by their parents how to use a fork, surely it's more important to teach them not to put things up their cornhole? Just incase it feels good. Obviously. Speaking of which, Franky Boyle. ftw.
Offline Profile Quote Post Goto Top
 
« Previous Topic · The Portcullis · Next Topic »
Add Reply

The Round Table Knights