Show Posts
Pages: [1] 2 3 ... 18
1  Community / Exhibition / Gallery / Another Automotive Display on: July 29, 2011, 01:46:29 pm
Hello,

as this Projekt is in a presentable state, here it is, another automotive display  smiley



It is a ATmega328 at 16Mhz (running the Arduino Bootloader) with an 20x4LCD sitting directly on top.

The automotive part is a rugged powersupply (as it is on the MultiDisplay: http://code.google.com/p/multidisplay/wiki/Powersupply)

The function is to measure 8 Thermocouples (will be installed in a 6 zylinder turbocharged engine), 1 Oiltemperature, Oilpressue, Fuelpressure, RPM and Boostpressure.

To do this there is a MCP3208 to read the Analog Values, a LTC1050 amplifies the Termocouple Values what are multiplexed by a 74HC4051D.

And USB-Serial is provided by a FT232RL.

Basically it is identical with the MultiDisplay, just smaller...

It has a warning output and the LCD brightness can be adjustet over PWM.

Over the USB Port is Datalogging possible, or the Software can be upgraded. (easier for the auto-guys as to handle ISP programmers...)

Today it had its first real show off, its got the bootloader:




then the big moment, will the USB work??


YES  smiley-cool


Putting the LCD on top:


And then just loaded the MultiDisplay code (http://code.google.com/p/multidisplay/)

Now i need to rework the Code that it also works on it...  smiley-roll


2  Community / Website and Forum / Re: TapaTalk... on: May 30, 2011, 11:41:23 pm
Hello,

im using Tapatalk on all my Forums (phpBB3) and its working great now! They have done a lot off rework and iPhone / Android is working good.

Would love to see also Tapatalk here  smiley

Even on my highly non electronics forum there are a lot o people now using it, i would imagine that here there are a LOT more users with smartphones!

greetings
3  Community / Website and Forum / Re: forum is slow? on: February 17, 2011, 07:47:44 am
cool thing to cut down the bandwith in 1/2  smiley-cool

it feels quicker, but still there is some more to gain  smiley-wink

your 80% processorload is a lot, can you find out whats the hardest bite on it? (ssh, top)




4  Community / Website and Forum / Re: forum is slow? on: February 04, 2011, 12:29:05 pm
did you had problems? still hoping to see things speed up here  smiley-wink
5  Community / Website and Forum / Re: forum is slow? on: January 29, 2011, 02:40:10 pm
how loaded is the server now? compressing will increase the server load, but not extreme!
this is hard to predict, you will need to analyse the load and see if thats get you into trouble...

if then php will be the limit or the db, there are caching tools (like xcache) what will help you out on this  smiley-wink

for example this page while i type has 84 HTTP requests, with the mod_expire this would be reduced to around 5!
even when the stuff is cached currently, there is still a HTTP request to check the cache...
as w3c said only 2 requests per domain are paralell, that means the user will make a crazy 40 requests in series...  smiley-roll
and your server must handle all this useless requests! making load for nothing...

to test it out, take ff, install (in that order):
https://addons.mozilla.org/de/firefox/addon/firebug/
https://addons.mozilla.org/de/firefox/addon/yslow/
http://code.google.com/intl/de-DE/speed/page-speed/download.html

this tools will show you the pageload times, tranfered volumes, HTTP requests and much more.
get your server stats (get into ssh, "top"), look at the loads and then insert the htaccess and watch what happens...
check on the site if it works like expected, [STRG]+[F5] and look into Yslow "Statistics" there must be a significant drop in requests and page size.
if your cpu gets overloaded take the htaccess down!

i can only tell you that on my biggest forum (record ~ 10k hits per second) on a crapy shared server handled it like a charm with this htaccess (and some other things)  smiley-cool

for detailed things, pn me, for details i need your hardware and software config and some load figures...

lets make this page fly  smiley-cool
6  Community / Website and Forum / Re: forum is slow? on: January 26, 2011, 03:03:47 pm
an apache is running here but it is not optimized for speed!

- missing GZIP (wasting 180kb per pageload => speed lost!)
- no expire set, so NOTHING cached! (wasting ~25 of 30 http requests => speed lost!)

the admin should put a htaccess like this in the http://arduino.cc/forum/ path:

Code:
#Compresses everything:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
</IfModule>

#sets the Cachetime to sometime from now, so the browsers cache them files!
# A604800 = week / A2592000 = month
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A604800
ExpiresByType text/html A0
ExpiresByType text/text A0
ExpiresByType text/plain A0
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/javascript A604800
ExpiresByType application/javascript A604800
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType image/x-icon A2592000
ExpiresByType image/vnd.microsoft.icon A2592000
</IfModule>

mod_deflate and mod_expires must be installed, but that should be an easy thing smiley-wink

on my forums this boosted the pageload time from some 5secs to below 1sec, independend from usercount!
so you can get the "instant" feeling, with just a little tweaking  smiley-cool
7  Forum 2005-2010 (read only) / Troubleshooting / Re: Arduino20/ 21 break code what runs on Arduino19 ok on: December 27, 2010, 01:55:34 pm
you guys helped me a lot, so i made a small writeup from this so maybe others will be helped too:

-->Arduino SRAM Overflow<--
8  Forum 2005-2010 (read only) / Troubleshooting / Re: Arduino20/ 21 break code what runs on Arduino19 ok on: November 08, 2010, 01:36:42 am
that looks interesting  smiley

as im using already PROGMEM for some lookup tables i thought about taking it also for the strings, but your way looks different to the samples from PROGMEM.

Will give it a try, with all my strings this should save quite a bit!
9  Forum 2005-2010 (read only) / Troubleshooting / Re: Arduino20/ 21 break code what runs on Arduino19 ok on: November 07, 2010, 05:36:53 am
ok, done the avr-objump, this things got bigger:

19:
Code:
008005f6 l     O .bss      00000002 twi_masterBuffer
008005fa l     O .bss      00000002 twi_txBuffer
008005fe l     O .bss      00000002 twi_rxBuffer
008005ea g     O .bss      00000002 _ZN7TwoWire8txBufferE
008005e5 g     O .bss      00000002 _ZN7TwoWire8rxBufferE

20:
Code:
00800634 l     O .bss      00000020 twi_masterBuffer
00800656 l     O .bss      00000020 twi_txBuffer
00800678 l     O .bss      00000020 twi_rxBuffer
0080060a g     O .bss      00000020 _ZN7TwoWire8txBufferE
008005e7 g     O .bss      00000020 _ZN7TwoWire8rxBufferE

nothing else changed...

so, all this got 10x as big. what costs 90bytes, or?


I have now just changed some serial.println("LONG TEXT") to serial.println("LT") style, and its working again   :smiley
Just slipped right below the 2000byte mark...

But i will rethink the whole thing, running so close to the edge is not confident  :-[

Thanks for all the help!!! Saved my day smiley
10  Forum 2005-2010 (read only) / Troubleshooting / Re: Arduino20/ 21 break code what runs on Arduino19 ok on: November 06, 2010, 05:18:57 pm
eclipse is for future development smiley-wink

currently still in the arduino ide...

avr-size for the elf on 19:

Code:
  text         data          bss          dec          hex      filename
  25296         1398          476        27170         6a22      work_designer2k2_03.cpp.elf

and on 20:
Code:
  text         data          bss          dec          hex      filename
  24740         1400          622        26762         688a      work_designer2k2_03.cpp.elf

do i see it right that on 19 it takes 1874 SRAM, and on 20 2022? But as the Atmega328 only has 2000 it fails?

If so, how can i reduce the BSS ?  :-?

And what is the BSS?
11  Forum 2005-2010 (read only) / Troubleshooting / Arduino20/ 21 break code what runs on Arduino19 ok on: November 06, 2010, 05:42:33 am
Hello,

i try to get my project working with the Arduino Uno, so i took the 21 and just uploaded what was working nice on the Duemilanove328.

It compiles fine (even 500bytes smaller) but its not working at all.

The Code is here: http://code.google.com/p/multidisplay/source/browse/#svn/trunk/work_designer2k2_03
(its a little big...)

The Problems are:

- Serial does not work
- LCD Shows intro screen, then something else, then nothing, randomized
- Portexpander over I2C do not work

I think something in the Memory is messed up, im using a lot of variables, but with 19 it worked  :-[

Any Ideas where to look?

with greetings from austria,
Steff
12  Forum 2005-2010 (read only) / Syntax & Programs / Re: RAM overflow on: December 27, 2010, 02:14:34 pm
Hello,

i wrote a little note about how to find the RAM Overflow:

-->Arduino Ram Overflow<--
13  Forum 2005-2010 (read only) / Syntax & Programs / Re: LCD "Bigfont" Numbers over 2 or 4 lines on: August 04, 2010, 03:59:17 am
nice!

i testet rounder numbers but they are a lot harder to read, somehow this ones are easier to read  :-?
14  Forum 2005-2010 (read only) / Syntax & Programs / Re: LCD "Bigfont" Numbers over 2 or 4 lines on: July 01, 2009, 06:10:00 am
here it is:

Code:
void LcdUploadUdef5x8(int character, int *data)
{
  int c = character << 3, i;
  for (i = 0; i < 8; i++)
  {
    lcd.commandWrite(0x40 | c | i);
    lcd.print(data[i]);
  }
}

 smiley
15  Forum 2005-2010 (read only) / Syntax & Programs / Re: LCD "Bigfont" Numbers over 2 or 4 lines on: June 22, 2009, 08:18:43 am
and the other functions for the 4lines:

Quote


void CGRAM_BigFont4()
{
  
  //255 is the "Full Block" Code, and 254 is blank
  int data1[] = {0,0,0,0,3,15,15,31};    //Small Block on bottom left
  int data2[] = {0,0,0,0,31,31,31,31};    //Small Block on bottom right
  int data3[] = {0,0,0,0,24,30,30,31};  //Small Block on bottom full
  int data4[] = {31,15,15,3,0,0,0,0};  //Small Block on top left
  int data5[] = {31,30,30,24,0,0,0,0};  //Small Block on top right
  int data6[] = {31,31,31,31,0,0,0,0};  //Small Block on top full
  int data7[] = {14,14,14,14,12,8,0,0};  //Dot, for Decimal.
  
  LcdUploadUdef5x8(1,data1);
  LcdUploadUdef5x8(2,data2);
  LcdUploadUdef5x8(3,data3);
  LcdUploadUdef5x8(4,data4);
  LcdUploadUdef5x8(5,data5);
  LcdUploadUdef5x8(6,data6);
  LcdUploadUdef5x8(7,data7);
    
}

// Array index into parts of big numbers. Numbers consist of 12 custom characters in 4 lines
//              0               1            2              3                4             5             6              7              8              9    
char bn14[]={1,2,3,0,       2,3,254,0,     1,2,3,0,       1,2,3,0,       2,254,254,0,   2,2,2,0,       1,2,3,0,       2,2,2,0,       1,2,3,0,       1,2,3,0};
char bn24[]={255,254,255,0, 254,255,254,0, 1,2,255,0,     254,2,255,0,   255,2,2,0,     255,2,2,0,     255,2,3,0,     254,2,255,0,   255,2,255,0,   255,254,255,0};
char bn34[]={255,254,255,0, 254,255,254,0, 255,254,254,0, 254,254,255,0, 254,255,254,0, 254,254,255,0, 255,254,255,0, 254,255,254,0, 255,254,255,0, 4,6,255,0};
char bn44[]={4,6,5,0,       6,6,6,0,       4,6,6,0,       4,6,5,0,       254,6,254,0,   6,6,5,0,       4,6,5,0,       254,6,254,0,   4,6,5,0,       254,254,6,0};

void printOneNumber4(uint8_t digit, byte leftAdjust)
{
  // leftAdjust = 0, means 1 Pos, leftAdjust = 1 is second Pos.

  // Line 1 of the one digit number
  lcd.commandWrite(0x80+leftAdjust*3+1*leftAdjust);                  //Line 1
  lcd.print(bn14[digit*3]);
  lcd.print(bn14[digit*3+1]);
  lcd.print(bn14[digit*3+2]);

  // Line 2 of the one-digit number
  lcd.commandWrite(0xC0+leftAdjust*3+1*leftAdjust);              // Line 2
  lcd.print(bn24[digit*3]);
  lcd.print(bn24[digit*3+1]);
  lcd.print(bn24[digit*3+2]);

  // Line 3 of the one digit number
  lcd.commandWrite(0x94+leftAdjust*3+1*leftAdjust);                  //Line 3
  lcd.print(bn34[digit*3]);
  lcd.print(bn34[digit*3+1]);
  lcd.print(bn34[digit*3+2]);

  // Line 4 of the one-digit number
  lcd.commandWrite(0xD4+leftAdjust*3+1*leftAdjust);              // Line 4
  lcd.print(bn44[digit*3]);
  lcd.print(bn44[digit*3+1]);
  lcd.print(bn44[digit*3+2]);

}

void bigNum4 (unsigned long t, byte leftAdjust, int d){    
 
// LineOffset = 0, means 1 Line, LineOffset = 20 means 2 Line.
// d = 0, means no dp!
  
//  unsigned long t = 98550ul;//number in thousandths
//  unsigned long t = 9855ul;//number in thousandths
  char  dp = 254;
  char  dp2 = 254;
  
 
  char * r = "009.99"; //default to 999
  if(t<=99500){
    r=format(t/10); //0098.6
    dp=7;
  }else if(t<=999500){
    r=format(t/100);
  }  
  if(t<=9950)
  {
    dp = 254;
    dp2 = 7;
    r=format(t); //009.86
  }
  
  if(d==0)
  {
   dp = 254;
   dp2 = 254;
  }
  
  lcd.commandWrite(0x80+leftAdjust);
  lcd.printIn(bn14+(r[2]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn14+(r[4]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn14+(r[5]-'0')*4);
 
  lcd.commandWrite(0xC0+leftAdjust);
  lcd.printIn(bn24+(r[2]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn24+(r[4]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn24+(r[5]-'0')*4);

  lcd.commandWrite(0x94+leftAdjust);
  lcd.printIn(bn34+(r[2]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn34+(r[4]-'0')*4);
  lcd.printIn(" ");
  lcd.printIn(bn34+(r[5]-'0')*4);
 
  lcd.commandWrite(0xD4+leftAdjust);
  lcd.printIn(bn44+(r[2]-'0')*4);
  lcd.print(dp2);
  lcd.printIn(bn44+(r[4]-'0')*4);
  lcd.print(dp);
  lcd.printIn(bn44+(r[5]-'0')*4);
  
}

Pages: [1] 2 3 ... 18