Sari la conținut
ELFORUM - Forumul electronistilor

HamSwitch


aetius

Postări Recomandate

OK, statia nu raspunde chiar deloc.

Din ce am citit aseara despre comunicatia statiilor astora, protocolul folosit e cu un bit de start, 8 de date si doi de stop. Din cate m-am prins eu, AltSerial-ul folosit in program e 1 bit de start, 8 de date si unul de stop. Cum bitii de stop sunt practic repaus, as adauga un delay intre octetii transmisi. Cu alte cuvinte, in fisierul RadioSettings.h as modifica functia pentru testul yaesu (liniile 22 - 30) si as adauga un delay dupa serial->write:

//************* Y Interface *************
void Y_Request(AltSoftSerial* serial)
{
  byte ReadFreq[] = {0x00, 0x00, 0x00, 0x00, 0x03};
  for (byte i = 0; i < sizeof(ReadFreq); i++)
  {
    serial->write(ReadFreq[i]);
    delay(1);
  }
}

 

Link spre comentariu
  • Răspunsuri 50
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

N-ai zis cum te conectezi cu pc-ul la stație (fără arduino). Ai un program dedicat? 

Mă gândeam să folosești termite să trimiți aceleași pachete ca arduino și să vezi dacă stația răspunde. 

Adică conectezi stația la pc (com1), deschizi termite pe com1 (configurat 1 start bit, 8 data, no parity, 2 stop) și trimiți datele de pe pagina anterioară (alea cu [00] [00] [00] [00] [03]).

 

Link spre comentariu

Exista mici diferente, in ceea ce priveste CAT, intre FT847 si FT 857, dar care nu au importanta atunci cand se trimite comanda de citire Frequency & Mode Status.

In manualul FT847 este specificat faptul ca daca se foloseste un tuner de antena FC20, care este conectat la statie, sistemul CAT nu poate fi accesat.
O alta cauza a nefunctionarii ar putea fi modulul cu MAX232. Ati testat functionarea corecta a acestui modul? 
Pinii opt si noua sunt legati corect la modulul MAX232, 8-RX, 9-TX?
Autorul programului sugereaza sa setati in fisierul UserSettings.h , MY_RADIO la valoarea  102 (YAESU FT857), iar daca faceti asta, setati  AUTO_DETECT_INTERFACE = false ;
Cu aceste setari se va transmite catre statie doar comanda alocata statiei Yaesu.
In tabelul de comenzi din manual exista o comanda CAT on/off. Poate ar fi bine ca inainte de a solicita citirea fregventei, sa trimiteti comanda CAT on.

Un alt test pe care il puteti face ar fi verificarea   transmisiei catre statie, incercand sa setati, cu arduino, fregventa statiei pe o alta valoare.
Se poate incerca si setarea unui baud rate de 4800, precum si diverse valori pentru intarzierea sugerata de Liviu M, valoarea maxima nu trebuie sa depaseasca 200ms, valoare specificata in manual.
 

Link spre comentariu

S-a rezolvat pina la urma.

O mica "idee" , trsnsformata in cod de @Liviu M.

@Elison am incercat tot ce ai zis ,si ultima incercare s-a facut cu comanda on/off a CAT-ului ,transpusa in cod...

Sunt la serviciu diseara revin cu bucata de cod modificata...

Multumesc.

 

P.S.

Acum am vazut si varianta propusa de autor scrisa si de tine cu true/false si nevazuta de mine, o s-a incerc diseara.

Multumesc.

Editat de aetius
Link spre comentariu

Cum am promis revin...

Merge si cum a spus @Elison modificand linia din fisierul UserSettings :

const bool AUTO_DETECT_INTERFACE = true;

in:

const bool AUTO_DETECT_INTERFACE = false;

Sau in varianta de cod scrisa/modificata de @Liviu M  in fisierul RadioSettings :

din :

void Y_Request(AltSoftSerial* serial)
{
  byte ReadFreq[] = {0x00, 0x00, 0x00, 0x00, 0x03};
  for (byte i = 0; i < sizeof(ReadFreq); i++)
  {
    serial->write(ReadFreq[i]);
  }
}

in:

void Y_Request(AltSoftSerial* serial)
{
  byte ReadFreq[] = {0x00, 0x00, 0x00, 0x00, 0x00};
  for (byte i = 0; i < sizeof(ReadFreq); i++)
  {
    serial->write(ReadFreq[i]);
  }
  while (serial->available()) {
    int inChar = (int)serial->read();
    delay(5);
  }
  ReadFreq[4] = 0x03;
  for (byte i = 0; i < sizeof(ReadFreq); i++)
  {
    serial->write(ReadFreq[i]);
  }
}

 

Editat de aetius
Link spre comentariu

Ce inseamna merge cand pui AUTO_DETECT_INTERFACE = true;?

Ai testat comunicatia in sine (statia afiseaza CAT), sau pe afisorul Arduino scrie tipul statiei?

Oricum, frumos ar fi acum sa-i dai un mesaj autorului si sa-i zici ca pentru FT-847 detectia trebuie precedata de CAT ON.

 

LE Modificarea mea e doar un test rapid, sa vezi daca ajuta. Nu-s sigur ca e cea mai buna varianta, daca-l informezi pe autor de problema, poate face si un fix cinstit.

Editat de Liviu M
Link spre comentariu

Merge cand modifici din true in false si afiseaza pe LCD  FT-857 si afiseaza CAT pe statie...

Dar nu-i stabila mai da rateuri nu se conecteaza tot timpul.

Varianta propusa de tine este ok, si se conecteaza mereu...

Cred ca in timp ce ai scris aici ,am trimis mail autorului...

Oricum multumesc.

 

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări