Witam,
Mała relacja fotograficzna. Niestety zdjęcia dosyć słabe.
Lewa strona:

i prawa:

Kiedyś mówiłem, że zrobię lepsze zdjęcie podświetlanych kontrolek:

Od dwóch dni podpinałem kontrolki pod SimOutXL, weryfikowałem połączenia, zmieniałem kod skryptu.
Napotkałem kilka problemów:
1. Panel TWA wymaga podświetlenia z jednego wyjścia 4 LED. Nie sprawdziłem tego wcześniej, mój błąd. Chciałem to zasilić z jednego wyjścia SimOutXL ale niestety jasność spadła poniżej zadowalającej. Próbowałem zrobić jakieś sterowanie przez tranzystor ale niestety, tak skonstruowałem panel TWA, że nie mogę bez totalnej demolki, dobrać się do polutowanych LED'ów. Generalnie TWA wygląda OK ale od strony technicznej to najgorszy panel jaki zrobiłem. Może kiedyś zrobię jakąś nową wersję TWA. Stanęło na tym, że 4x LED steruję z tego samego bita. Doszedłem do wniosku, że patrząc na modułowe podejście do projektu będę potrzebował jeszcze jednej płytki SimOutXL. Także,
Vito_zm, będę prosił o jeszcze jedno zaprogramowanie SimOutXL.

2. Kolejny problem wyniknął podczas testowania z BMS'em. Okazało się, że płytka SimOutXL zawiesza się podczas testowania liczników flar i chaff. Czasami wyrzuciłem 10 flar lub chaff i licznik stawał, czasami trochę więcej.
Wydaje się, że znalazłem błąd. Co prawda testowałem to tylko raz ale wszystko działało do pełnego wyrzucenia flar i chaff. Chyba ktoś na forum też miał podobny problem?
Problem był w skrypcie do flar i chaff. Pierwotny skrypt wyglądał tak:
script "Falcon - SimOUT - Chaff-flare"
{
variable $ChaffCount { module = "FalconData"; id = "ChaffCount"; type = double; direct = in; }
variable $CHAFF { module = "simOUT"; id = "CHAFF"; type = string; direct = out; }
variable_changed $ChaffCount
{
if ($ChaffCount < 0)
{
$CHAFF = "00";
}
else
{
$CHAFF = FormatNumber ( $ChaffCount,"00" );
}
}
variable $FlareCount { module = "FalconData"; id = "FlareCount"; type = double; direct = in; }
variable $FLARE { module = "simOUT"; id = "FLARE"; type = string; direct = out; }
variable_changed $FlareCount
{
if ($FlareCount < 0)
{
$FLARE = "00";
}
else
{
$FLARE = FormatNumber ( $FlareCount,"00");
}
}
}
Mój wygląda tak. I tu już wszystko działało:
script "Falcon - SimOUT - Chaff-flare"
{
variable $ChaffCount { module = "FalconData"; id = "ChaffCount"; type = double; direct = in; }
variable $CHAFF { module = "simOUT"; id = "CHAFF"; type = string; direct = out; }
variable $FlareCount { module = "FalconData"; id = "FlareCount"; type = double; direct = in; }
variable $FLARE { module = "simOUT"; id = "FLARE"; type = string; direct = out; }
variable_changed $ChaffCount
{
if ($ChaffCount < 0)
{
$CHAFF = "00";
}
else
{
$CHAFF = FormatNumber ( $ChaffCount,"00" );
}
}
variable_changed $FlareCount
{
if ($FlareCount < 0)
{
$FLARE = "00";
}
else
{
$FLARE = FormatNumber ( $FlareCount,"00");
}
}
}
Różnica jest w definicji zmiennych. W pierwszej wersji definicje są rozbite, w mojej scaliłem je w pierwszych liniach skryptu.
3. W BMS 4.33 wszystko chodzi OK ale wersja 4.33U1 wymaga już zmian. Będę musiał nad wersją 4.33U1 trochę posiedzieć i pozmieniać skrypty i przypisania klawiszy.
I ostatnia kwestia skierowana do znawców obsługi SimOutXL i SharedMemHeader. W jednym z moich paneli mam kontrolkę AVTR, przy pomocy programu dołączonego do BMS 4.33 o nazwie BMSFlightData.exe, znalazłem, że kontrolka AVTR jest dostępna pod bitami o nazwie HsiBits , 13. Chciałem dodać do skryptu następujące linie:
variable $HsiBits { module = "FalconData"; id = "HsiBits"; type = int; direct = in; }
variable_changed $HsiBits
{
//AVTR
$led_001_029 = GetBitState( $HsiBits , 13 );
}
Ale w czasie uruchamiania skryptu dostawałem zwrotkę, że moduł FalconData nie może odnaleźć zmiennej HsiBits...

Odszukałem, że moduł FalconData jest to część oprogramowania HomeSimCockpit. Ja mam wersję 1.1.1.2.
Czy ktoś wie jak to zrobić? Czy trzeba ściągnąć nowszą wersję HomeSimCockpit? Chyba nie ma nowszej...