ATNEL tech-forum
https://forum.atnel.pl/

[B4A] Synchronizacja czasu
https://forum.atnel.pl/topic19536.html
Strona 1 z 3

Autor:  Morcinek92 [ 4 lis 2017, o 21:02 ]
Tytuł:  [B4A] Synchronizacja czasu

Witam,

Chciałbym stworzyć aplikację, która łączyć będzie się z procesorem za pośrednictwem Bluetooth.
Po kliknięciu przycisku "Połącz" wysyłana będzie komenda z aktualnym czasem do synchronizacji.
Czy ktoś może ma jakieś przydatne materiały albo jest w stanie mnie jakoś na kierunkować ?

Oraz chciałbym zrobić dopasowanie aplikacji do różnych wielkości wyświetlaczy.
Jeśli ktoś miałbym przydatne informację proszę o pomoc.

Pozdrawiam
Marcin

Autor:  grzeniu 73 [ 4 lis 2017, o 21:21 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Nie wiem jak Ty to widzisz ,ale ja to robie tak:
Po polaczeniu z prockiem wysyłam komendę z telefonu żeby przesłał dane na wyświetlacz i procek na koniec wysyła prośbę o podanie czasu aktualnego. Jak odbiorę znak przez telefon to wysyłam aktualny czas i tyle. Pisze w Bascom wiec kod pewnie Ci się nie przyda a odczytanie czasu przez b4a jest banalnie proste.
Co do scalowania to masz w poradnikach Mirkowych dokładnie to pokazane i omówione.

Autor:  Morcinek92 [ 4 lis 2017, o 21:58 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

[quote="grzeniu 73] odczytanie czasu przez b4a jest banalnie proste.
Co do scalowania to masz w poradnikach Mirkowych dokładnie to pokazane i omówione.[/quote]

Właśnie o to mi chodzi. O ten banalny kod w b4a :D
A czy pamiętasz w którym poradniki Pan Mirek o tym ?:)

Autor:  mirekk36 [ 4 lis 2017, o 22:04 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Ja zawsze zachodzę w głowę - o co może chodzić początkującym gdy zadają takie pytania. Po samym pytaniu można się spodziewać, że chodzi o jakąś mroczną, ciemną, mega tajną procedurę synchronizacji do której potrzebny jest najtajnieszy z poradników świata ;)

Ludzie, panowie, ... no Panowie - proszę o litość ....

ileż razy można tłumaczyć i wyjaśniać o tak banalnej rzeczy jak komunikacja ASCII ... no na prawdę aż gdzieś tam w kręgosłupie słyszę metaliczny zgrzyt...

czy to problem do procka wysłać string z czasem ??????

"12:24:37"

?????? sparsować go i ustawić godzinę w procku ? nawet można osobno po przecinku i to komendą jakąś AT własną np

AT+TIME=12,24,37

no gdzie tu szukać problemu? jak tu doszukiwać się tajnych sposobów ?

Autor:  grzeniu 73 [ 5 lis 2017, o 08:58 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Ja to tak robię, ale można tez prościej i najpierw ustawić format w jakim b4a ci to wyświetli. Wtedy masz to sformatowane w jednej linijce.
A poradniki dotyczące drugiego problemu to chyba 2-3-4 odcinek o b4a. Zresztą chyba w większości się to przewija.

Autor:  Morcinek92 [ 5 lis 2017, o 17:13 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Dziękuję wielkie za kod.
Właśnie o to mi chodziło :)

Panie Mirku problemem nie jest odbieranie kodu ze strony procka ani skonstruowania komendy "AT+TIME=12,24,37"
Problemem jest zdobycie tego czasu poprzez B4A i dodanie jej do tej komendy :)

Ale kolega Grzeniu bardzo ładnie to pokazał.

Dziękuje bardzo
Pozdrawiam i życzę miłego wieczoru.

Autor:  Morcinek92 [ 8 lis 2017, o 09:29 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Mam pytanie, jak przelac/udostepnic komus nasza aplikacje ? (oczywiscie osobie, ktora nie ma b4a)

Autor:  mirekk36 [ 8 lis 2017, o 09:40 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

no tak jak wszystkie aplikacje na androida ... toż po to masz kompilator żeby wygenerował ci APliKację czyli plik *.apk To jest instalka

Autor:  Morcinek92 [ 9 lis 2017, o 14:41 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Mam jeszcze jedno pytanie. Moja aplikacja ma dwa layouty w mainie wszystko działa poprawnie chodzi mi o wysyłanie znaków do uC natomiast jeśli dodam do layout1 funkcje do wysyłania to nie widzi jej.. Czy w b4a można zrobić funkcje globalna ? albo muzę podłącza się ten layout1 do maina żeby funkcje były dostępne ?

tak mam w main

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


w layout wstawiam
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Harry [ 9 lis 2017, o 15:15 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Zlituj się i używaj interpunkcji, bo trzeba się domyślać o co Ci chodzi :/
Czego nie widzi - suba czy flagi, bo to duża różnica.

Autor:  Morcinek92 [ 9 lis 2017, o 15:24 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Wybacz.
Mam dwa Layouty (1. Main, 2.Layout1)

W drugim mam seekBara

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Natomiast funkcję do wysyłania w Main
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No i nie jestem w stanie w Layout1 wpisać sobie "Rozkaz( "MOC=" & SeekBarMoc.Value & Chr(13) & Chr(10) ) bo nie widzi funkcji "Rozkaz"

Nie bardzo wiem, jak to zrobić...

Autor:  Harry [ 9 lis 2017, o 15:28 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

a spróbuj Main.Rozkaz

Autor:  Morcinek92 [ 9 lis 2017, o 15:49 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Pròbowałem, ale tak to nie działa. Nie jest dostępna funkcja "Rozkaz".

Autor:  Harry [ 9 lis 2017, o 20:42 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

A zobacz Callsub(main, "rozkaz (....)"), sprawdź w dokumentacji bo o ile pamiętam to tych Callsub jest kilka wariantów.

Wysłane ze srajfona

Autor:  Morcinek92 [ 10 lis 2017, o 11:33 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Sprawdzałem, w funkcji Callsub też nie mam dostępu do funkcji ROZKAZ..

Nawet kiedy odbieram dane z uC to w layout MAIN nie ma problemu wszystko łądnie się odbiera, ale jeśli chce te wartość przekazać do drugiej wartstwy w tedy dostaję ERROR.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Obrazek

Autor:  Harry [ 10 lis 2017, o 16:15 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Jedno podstawowe pytanie -czy drugi layout, ten na który przekazujesz dane był wcześniej załadowany?
Operujesz na dwóch layoutach czy na dwóch activity?

Autor:  Morcinek92 [ 10 lis 2017, o 16:59 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

na dwóch activity

Dodałem poprzez PROJECT > ADD NEW MODULE > ACTIVITY MODULE



chyba rozumiem swój błąd... powinem mieć dwa layouty a jeden activity..
spróbuję teraz tak zrobić z tym, że już widzę, że jeden na drugi się nakłada ale pewnie jest jakaś funkcja na zamknięcie 1 i otwarcie drugiego. Już szukam

Autor:  Harry [ 10 lis 2017, o 17:11 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Może być, a czy jak pytałem wcześniej, czy przed próbą skorzystania z funkcji ładujesz wcześniej Activity?
Nie musi być widoczne, ale załadowane już tak.

Nie muszą być to być layouty, osobiście preferuje osobne activity - pamięć.

Autor:  Morcinek92 [ 10 lis 2017, o 17:30 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Żeby przejść do następnego layoutu klikam przycisk

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a w Layout1

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I później w funkcji seekBar'a wywoływałem Callsub czy np. Main.Rozkaz

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  mirekk36 [ 10 lis 2017, o 17:40 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

zmienne globalne mogą służyć do przekazywania danych

Autor:  Harry [ 10 lis 2017, o 17:43 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Layout to tylko widok, więc Sub powinien odpalić się bez żadnych "dopisków", zaś Activity to tak jakby osobny podprogram(niewiem jak to się zwie w b4a, w vb6 było łatwiej) .
Jeśli nie działa w ten sposób, to dodaj jakiegoś osobnego suba (tylko do testów), np z alertem, wtedy będzie wiadomo czy sub się nie odpala, czy to co próbujesz zrobić mu nie pasi(komunikaty w javie są chyba tylko dla programistów javy ;))

------------------------ [ Dodano po: 4 minutach ]

Mirku, jakto do przekazania?
Masz na myśli wyświetlenie zmiennej, to jest jasne jak słońce ;)
Teraz dopiero zwróciłem uwagę że kolega chyba próbuje wywołać zdarzenie(a nie własnego suba), to ten numer nie przejdzie "zdalnie".

Autor:  mirekk36 [ 10 lis 2017, o 17:54 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Cytuj:
Mirku, jakto do przekazania?

No do przekazania - toż żeby przekazać jakieś wartości suche nie trzeba zaraz funkcji wołać tylko zapisać do zmiennych, odpalić lajałta drugiego i proszę - ma gotowe wartości

Autor:  Harry [ 10 lis 2017, o 17:59 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Przekazanie samej wartości to akurat nie problem, równie dobrze można ustawić bezpośrednio(bez zmiennej), jak kto woli.

Autor:  Morcinek92 [ 10 lis 2017, o 18:01 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Tak , mogę zrobić w ten sposób, że w Layout1:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


wartość seekBar'a podam do zmiennej globalnej w tym przypadku "xyz", a w Layout1 wyślę

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


z tym, że on zostanie zrealizowany dopiero po wejściu w Layout1 bo umieściłem go w sekcji Activite_Resume bo nie bardzo wiem, w której miałby się innej znaleźć..
Rozkaz ma być wysłany dopiero gdy ktoś zmieni wartość na suwaku.

Autor:  mirekk36 [ 10 lis 2017, o 18:02 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Harry napisał(a):
Przekazanie samej wartości to akurat nie problem

dla ciebie nie problem ale jak ktoś nie wie - jak np autor wątku, że tak można to urasta do rangi dużego problemu, więc nie ma co mówić że to problem czy nie problem. Jest możliwość również taka i warto o tym wiedzieć - bo czasem proste rozwiązania bywają bardzo potrzebne.

Autor:  Morcinek92 [ 10 lis 2017, o 18:05 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Przekazanie wartości to nie jest problem.. bo jak pokazałem w przykładzie wyżej to jest proste , ale jak wysłać w tym samym momencie te wartości nie przechodząc do layoutu głównego ? bo to jest dla mnie problem

Autor:  Harry [ 10 lis 2017, o 18:07 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Wiem, ale już wcześniej odpalał z wartością wpisaną z palca.

Wysłane ze srajfona

Autor:  Morcinek92 [ 10 lis 2017, o 18:33 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Nadal nie rozumiem, gdzie mam błąd.. możecie mi to jaśniej wyjaśnić?

Autor:  Harry [ 10 lis 2017, o 18:49 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Bo robisz odwrotnie ;)
Masz:
Składnia: [ Pobierz ] [ Ukryj ]
język vb
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

czyli ustawiasz wartość seekbara wartością globalnej xyz
a powinno być:
Składnia: [ Pobierz ] [ Ukryj ]
język vb
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czyli masz podać aktualną wartość seekbara do zmiennej.

Autor:  Morcinek92 [ 10 lis 2017, o 18:59 ]
Tytuł:  Re: [B4A] Synchronizacja czasu

Z tym się zgadzam. Już wcześniej miałem to poprawione.
Ale teraz powiedz mi jak to wysłać w czasie kiedy zmieniam wartości na sekBarze ?

Bo jeśli mam w Layout Main:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to zostanie to wysłane dopiero kiedy przejdę na activiti MAIN

a ja chcę żeby wartość seekbara została wysłana od razu po jego zmianie ..

Strona 1 z 3 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/