Show Posts
Pages: [1]
1  Development / Other Hardware Development / Re: Arduino 1.0.1 causes Mac OS X to crash regularly. Ideas? on: November 01, 2013, 05:39:51 pm
Dears,
I found a trick to avoid OSX to crash... simply use a USB hub to connect to arduino. I've done this and it stop crashing.
Hope this helps someone.
bye
Paolo
2  Development / Other Hardware Development / Re: Arduino 1.0.1 causes Mac OS X to crash regularly. Ideas? on: October 30, 2013, 06:16:59 pm
The same happens to me with all these combinations:
macbook 17 early 2009
Osx 10.9 (but it was the same on the old one)
Arduino 0.22 / Arduino 1.0.x
ARDUINO MEGA2560 AND ONE R3 via USB
my custom atmel atmega328P chip based via USB2SERIAL
Oracle Java 7 / Open JDK 7 / Open JDK 6
Crash after some uploads, during upload. I'm working on arduino for three years. This time I upgraded several osx versions and my feeling is that it depends on osx upgrades. Infact in this period I've kept stable ide (0.22) and hardware, but only upgraded OSX, and it seems to be worse and worse.
What about Arduino Team? Are they investigating about it? I think also that it should be related with RXTX native of java, but I think that it could be also caused by some bug in the IDE.
bye
Paolo



3  Forum 2005-2010 (read only) / Italiano / ETH - Server.available() - non restituisce Client on: January 20, 2011, 07:14:04 am
Buongiorno,
è il mio primo post, pero' è già un po' di tempo che mi leggo un il forum ed effettivamente ho già trovato tante informazioni interessanti, e complimenti (e grazie) un po' a tutti per il contributo dato alla comunità.

Scrivo per chiedere una cosa molto concisa:

Ho rilevato che la Server.available() restituisce il client solamente dopo aver ricevuto almeno un carattere dal client. Per esempio utilizzando il telnet bisogna schiacciare invio. E' voluto questo comportamento? o si tratta di un bug?
Attualmente sto scrivendo un'applicazione che appena il client si connette (quindi senza inviare nessun carattere) il server deve rispondere inviando un ack.
Mi sono guardato la libreria ethernet:
Server.cpp:

Client Server::available()
{
  accept();

  for (int sock = 0; sock < MAX_SOCK_NUM; sock++) {
    Client client(sock);
    if (EthernetClass::_server_port[sock] == _port &&
        (client.status() == SnSR::ESTABLISHED ||
         client.status() == SnSR::CLOSE_WAIT)) {
      if (client.available()) {
        // XXX: don't always pick the lowest numbered socket.
        return client;
      }
    }
  }

  return Client(MAX_SOCK_NUM);
}


credo che dipenda da quella riga:
 if (client.available())...

infatti:
Client.cpp:

int Client::available() {
  if (_sock != MAX_SOCK_NUM)
    return W5100.getRXReceivedSize(_sock);
  return 0;
}

quindi se il client è collegato, ma non ha inviato nulla, client.available restituisce 0 e non restiuisce il client. Corretto?

Cosa faccio? Mi scrivo una nuova classe ethernet che gestisce meglio questo aspetto? Altre possibilità?

ciao, grazie
paolo
Pages: [1]