PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Программы управления > iCarDS

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2017, 18:38   #191
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

Евген_21, так там все очень просто...
Шаблоны флэш можно взять от speedfan и переделать для обд.

Смотри, берешь экран икара от спидфана system_status.skin
в нем на месте переменных спидфана прописываешь переменные от обд из файла лабелей(label_ru.ini)

Например:

было так...
/---core 0 temp
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_T1",
/---core 1 temp
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_T2",
/---cpu fan
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_F1",

стало так...
/---core 0 temp
L01,0,0,0,0,255,255,255,,,"ce_voltage",
/---core 1 temp
L01,0,0,0,0,255,255,255,,,"ce_speed",
/---cpu fan
L01,0,0,0,0,255,255,255,,,"ce_enginespeed",

Эти лабели пустышки нужны для того чтоб флэшка могла брать эти переменные.
Затем уже во флэш редакторе открываешь шаблон спидфана и меняешь там переменную, выбираешь мышкой "Selection Tool"(как в фотошопе) или хоткей V, затем кликаешь один раз по тексту и в правой части вбиваешь свою переменную например "ce_voltage"...


затем просто делаешь экспорт в *.swf

Флэшку можно проверить в пот-плеере работает она или нет, потом копируешь в папку икара Flash. Запускаешь икар и сморишь пошли данные или нет, ну и естественно нужно чтоб обд работал .
duzzy вне форума   Ответить с цитированием
Старый 17.12.2017, 18:47   #192
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

duzzy

Я снова про чекер)
Заметил давно ,сегодня разгадал (грешил на телефон)
Если использовать Твой последний чекер происходит следующее :
1 Иногда скрипт пытается включить включенный адаптер
и тот зависает (как я писал ранне) - это было раза два
2 . Запусти чекер и посмотри список - там сканит после подключения
каждые 5 сек , зачем ?
Обнаружил , что этот скан влияет на соединение и скорость падает - долго ломал голову ..)

Что я сделал - убрал множественные проверки и счетчики , убрал
проверку на включение - у меня итак включен всегда,
оставил только:
PHP код:
If Not (_wlan_queryinterface() = "Connected"Then
_wlan_scan
()
Sleep(500)
wifi_connect()        
EndIf 
в цикле - усё .
При старте запуск только _wlan_startsession()
Теперь работает как надо .. без скана после подкючения .
Что было-бы логично , после _wlan_scan() - проверять найдено-ли нужная ТД .. не знаю как ,но итак первые тесты - норм!

Последний раз редактировалось seriousstas; 17.12.2017 в 20:06.
seriousstas вне форума   Ответить с цитированием
Старый 17.12.2017, 19:29   #193
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Привет !

Там как ни крути будут сложности)))
Очень странный юдф, а других я пока не видел...
Сканить нужно для поиска нужной сети в радиусе действия. У меня интервал стоит 30 сек. поэтому не заметно)))

функции
_wlan_scan() - из udf делает только скан.
_wlan_queryinterface() - из udf, работает с ошибками, их видно в консоли если включить $fDebugWifi = True, плюс ко всему она часто вызывает переподключение сети.
get_wnet() - из примера udf, берет имя сети по профилю подключения без скана.
А дальше просто идут проверки и попытки подключения через виндовую консольную утилиту.

Можно сделать и так как ты предложил, без скана при подключении, но при этом будет постоянно работать _wlan_queryinterface()(который вызывает переподключения сети)

Я обновлю сейчас v2 твоим дополнением посмотрим что вылезет еще

Тут скорее нужно каждому для себя что-то делать, мне кажется идеального общего варианта не будет.
Проблема в том что нет нормальной возможности проверить как подключение так и сам адаптер.

Можно сделать вообще простой вариант, брать параметры при первом старте, а потом просто гонять в цикле на предмет подключено или нет.
duzzy вне форума   Ответить с цитированием
Старый 17.12.2017, 20:08   #194
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Цитата:
без скана при подключении
ТОлько не при , а после ..
подключились - скана нет ..

Цитата:
Сканить нужно для поиска нужной сети в радиусе действия. У меня интервал стоит 30 сек. поэтому не заметно)))
а , так я другими и не пользуюсь , а если нужно - можно выключить чекер ..
вот черновик iCarMainScript
PHP код:
#RequireAdmin
#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\MyAutoIt3_Yellow.ico")
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <MyUDF.au3>
#include <WinAPI.au3>
#NoTrayIcon

Global $sinterface$sssid$sprofile$sstate$get_profile$check_timeout
$is_run 
1
$is_ping_run 
1
$ini_file 
= @ScriptDir "\net_checker_v2.ini"
$fist_run IniRead($ini_file"settings""fist_run""true")
If (
$fist_run "true"Then
    check_interface
()
    ;If (
$is_run == 0Then Exit
EndIf
$sinterface IniRead($ini_file"settings""interface"0)
$sssid IniRead($ini_file"settings""ssid"0)
$sprofile IniRead($ini_file"settings""profile"0)
$check_timeout IniRead($ini_file"settings""check_timeout"5000)


_wlan_startsession()
;
_wlan_startnotificationmodule()
Global 
$clear_flag True$try_enable True$count 0$try_enable_adapter True$count_adapter 0
Dim $vol_from_speed
[201]
Global    
$rr ObjCreate("RideRunner.sdk")


_Main()

Func MyErrFunc()
    
$HexNumber Hex($oMyError.number8)
;    
MsgBox(64"iCarDS","iCarDS закрыт")
;    
SetError(1); to check for after this function returns
    
Exit
EndFunc   ;==>MyErrFunc

Func _InitVolArray
()

    
$delta 0
    $vol_from_speed
[0]=$delta

    
For $i 0 to 150 Step 10

        $tmp_vol_from_speed 
$rr.GetInfo("=$vol_from_speed_$i+10 "$") / 10
        
For $j 1 to 10 Step 1
            $delta 
$delta $tmp_vol_from_speed
            $vol_from_speed
[$i+$j] = Round($delta2)
;~             
MsgBox(0"Файл:"$i+$j "-----" $vol_from_speed[$i+$j])
        
Next

    Next

    
For $i=162 to 200 Step 1
        $delta 
$delta $tmp_vol_from_speed
        $vol_from_speed
[$i] = Round($delta2)
;~         
MsgBox(0"Файл:"$i "-----" $vol_from_speed[$i])
    
Next

EndFunc
Func _main
()
    Global 
$iswork 1
    
Global $isrun 0
    
Global $name "[CLASS:TSkinForm]"
    
Global $namecontrol ""
    
Global $foobarwindowtitleprev ""
    
Global $speed_prev Round(Number($rr.getinfo("$IsDriveSpd$")), 0)
    Global 
$speed_prev_round Round($speed_prev, -1)
    Global 
$vol_from_speed_full 0
    
Global $vol_min Number($rr.getinfo("=$vol_from_speed_min$"))
    Global 
$vol_max Number($rr.getinfo("=$vol_from_speed_max$"))
    
_initvolarray()
    
$rr.execute("SetVar;vol_from_speed_full;" Round($vol_from_speed[$speed_prev], 2))
    Global 
$clear_flag True$try_enable True$count 0$try_enable_adapter True$count_adapter 0
    
    
While $iswork
    
    $handle 
WinGetHandle($name)     ; Ищем окно с заданным именем
        
If @error Then
            
If $IsRun Then
                $IsWork 
0
            
EndIf ; если окно не найденоа ключ запуска окна установлен в 1т.еокно закрытото сбросить ключ выхода для завершения скрипта
        
Else
            
$IsRun 1    если окно найдено устанавливаем ключ запуска окна
            
If WinActive($name) Or  WinActive("[CLASS:TOverlayForm]") Or WinActive("[CLASS:TPopupSkinForm]") Or WinActive("[CLASS:TModalSkinForm]") Or WinActive("[CLASS:TMediaForm]"Then
                $rr
.Execute("SETIND;!iCarDS_Active;ON")
            Else
                
$rr.Execute("SETIND;!iCarDS_Active;OFF")
            EndIf
        EndIf

        
$volume StringSplit$rr.getinfo("VOLUME") , "%")
        if @
error 0 then
            $current_volume 
Number($volume[1])
        else
            
$current_volume 0
        
EndIf

        
$speed_current Round(Number($rr.getinfo("$IsDriveSpd$")),0)

        If 
$speed_current $speed_prev Then

            $delta_vol 
Round($vol_from_speed[$speed_current] - $vol_from_speed[$speed_prev],2)
            If 
$current_volume $delta_vol $vol_max Then    $rr.Execute("volperc+;" $delta_vol"||SetVar;vol_from_speed_full;" $vol_from_speed[$speed_current])

        Else
            If 
$speed_current $speed_prev Then
                $delta_vol 
Round($vol_from_speed[$speed_prev] - $vol_from_speed[$speed_current],2)
                If 
$current_volume $delta_vol $vol_min Then    $rr.Execute("volperc-;" $delta_vol "||SetVar;vol_from_speed_full;" $vol_from_speed[$speed_current])
            EndIf
        EndIf

        
$speed_prev $speed_current

        
If Number($rr.getinfo("=$Is_new_vol_from_speed$")) = 1 Then
            _InitVolArray
()
            
$rr.Execute("SetVar;Is_new_vol_from_speed;0")
        EndIf

        
Sleep(50)
    
        Global 
$net_name get_wnet()
            If 
Not (_wlan_queryinterface() = "Connected"Then
            _wlan_scan
()
            
Sleep(500)
                    
wifi_connect()        
                EndIf

    
Sleep($check_timeout)

$overlay_handle WinGetHandle("[CLASS:TOverlayForm]")
$myAlpha 50
        
If ($overlay_handle And WinExists($overlay_handle)) Then
        Local $iTransColor
$iAlpha
        $iInfo 
_WinAPI_GetLayeredWindowAttributes($overlay_handle$iTransColor$iAlpha)
        If (
$iAlpha <= 100Then
        Sleep
(3000)
            
_WinAPI_SetLayeredWindowAttributes($overlay_handle$iTransColor$myAlpha)

        EndIf
    EndIf

WEnd
EndFunc
Func wifi_connect
()
    
RunWait(@ComSpec " /u /c " "netsh wlan connect " '"' $sprofile '"' " " '"' $sssid '"' " " '"' $sinterface '"', @SystemDir, @SW_HIDE)
    ;Return 
EndFunc


Func check_interface
()
    
$ipid Run(@ComSpec " /u /c " "netsh wlan show interfaces", @SystemDir, @SW_HIDE$stderr_child $stdout_child)
    
$sout ""
    
ProcessWaitClose($ipid)
    Do
        
$sout &= StdoutRead($ipid)
    
Until @error
    $aresult 
StringRegExp(_encoding_866to1251($sout), "(Имя|Name) *: *(.+) *"1)
    
$aresult2 StringRegExp(_encoding_866to1251($sout), "(SSID) *: *(.+) *"1)
    
$aresult3 StringRegExp(_encoding_866to1251($sout), "(Профиль) *: *(.+) *"1)
    
$aresult4 StringRegExp(_encoding_866to1251($sout), "(Состояние) *: *(.+) *"1)
    If 
UBound($aresult) >= 2 Then
        $sinterface 
$aresult[1]
    EndIf
    If 
UBound($aresult2) >= 2 Then
        $sssid 
$aresult2[1]
    EndIf
    If 
UBound($aresult3) >= 2 Then
        $sprofile_strip 
string_strip($aresult3[1])
        
$sprofile string_format($sprofile_strip)
    EndIf
    If 
UBound($aresult4) >= 2 Then
        $sstate 
$aresult4[1]
    EndIf
    If (
$sinterface == "" OR $sssid == "" OR $sprofile == ""Then
        $is_run 
1
        
;$is_run 0
        IniWrite
($ini_file"settings""fist_run""true")
    Else
        
IniWrite($ini_file"settings""interface"$sinterface)
        
IniWrite($ini_file"settings""ssid"$sssid)
        
IniWrite($ini_file"settings""profile"$sprofile)
        
IniWrite($ini_file"settings""check_timeout"5000)
        
IniWrite($ini_file"settings""adapter_enable_timeout"5000)
        
IniWrite($ini_file"settings""net_connect_count"3)
        
IniWrite($ini_file"settings""adapter_enable_count"3)
        
IniWrite($ini_file"settings""fist_run"False)
        
$ini_read_sett IniReadSection($ini_file"settings")

    EndIf
    Return 
EndFunc

Func get_wnet
()
    
Local $scurrentprofile
    Local $asnetworks 
_wlan_getnetworks(False00)
    For 
$i 0 To UBound($asnetworks) - 1
        
If StringInStr($asnetworks[$i][9], "P"Then
            $scurrentprofile 
$asnetworks[$i][0]
            
ExitLoop
        
EndIf
    
Next
    
Return $scurrentprofile
EndFunc


Func string_strip
($str_to_stiip)
    
$istr_strip StringStripWS($str_to_stiip$str_stripleading $str_striptrailing $str_stripspaces)
    Return 
$istr_strip
EndFunc

Func string_format
($str_to_format)
    
$istr_format StringFormat("%s"$str_to_format)
    Return 
$istr_format
EndFunc 
seriousstas вне форума   Ответить с цитированием
Старый 18.12.2017, 03:13   #195
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Цитата:
ТОлько не при , а после ..
подключились - скана нет ..
Да да я про это и писю))

Вот новый вариант))) версия 3
из функцонала только...
- первый старт для получения параметров
- включение адаптера на старте если он был выключен
- проверка на подключение и скан
- индикатором работы служит иконка в трее которая будет менять цвет при изменении состояний

Скачать net_checker_v3
Исходник от net_checker_v3.au3, может кто чего лучше придумает.


Ну и поправленная вторая версия net_checker_v2
- скан сети убран в проверку

...

Еще можно попробовать вариант через икар с вафлей играться,

у него же есть плагин для вафли, но я пока не пробовал.
Там полноценная библиотека по работе с сетью...

Последний раз редактировалось duzzy; 18.12.2017 в 03:45.
duzzy вне форума   Ответить с цитированием
Старый 20.12.2017, 16:11   #196
Евген_21
Старший Пользователь
 
Аватар для Евген_21
 
Регистрация: 10.11.2014
Возраст: 48
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
Евген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от duzzy Посмотреть сообщение
Евген_21, так там все очень просто...
Шаблоны флэш можно взять от speedfan и переделать для обд.

Смотри, берешь экран икара от спидфана system_status.skin
в нем на месте переменных спидфана прописываешь переменные от обд из файла лабелей(label_ru.ini)
Привет. Но самое интересное , все что ты описал я это делал. Не помогло.... Не думал что регистр имеет значение. Так не пошло (var ce_speed), а так все заработало (var CE_SPEED).
Все, равно огромное спасибо что откликнулся. А как стрелочный сделать?
Я как понял, код там уже присутствует.
__________________
GIGABYTE LGA1150 GA-85N B85,Intel Core i3-4330 3.5GHz 4Mb 2xDDR3-1600,Kingston HyperX 4Gb...USB GPS приемник Locosys LS-23030G.,блок питания M4-ATX
Windows 7-64, iCarDS 1.7.0.60 (лицензия)
Оформления и темы для iCarDS
Евген_21 вне форума   Ответить с цитированием
Старый 20.12.2017, 16:14   #197
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Цитата:
у него же есть плагин для вафли, но я пока не пробовал.
Там полноценная библиотека по работе с сетью...
Ну канешь родная и приятнее и удобнее .. найдешь время ковырни -
она показывает счетчик цикла в сек. , но как его уменьшить ?
seriousstas вне форума   Ответить с цитированием
Старый 20.12.2017, 20:15   #198
Евген_21
Старший Пользователь
 
Аватар для Евген_21
 
Регистрация: 10.11.2014
Возраст: 48
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
Евген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от seriousstas Посмотреть сообщение
Ну канешь родная и приятнее и удобнее .. найдешь время ковырни -
она показывает счетчик цикла в сек. , но как его уменьшить ?
А чем DLL реально разобрать.
__________________
GIGABYTE LGA1150 GA-85N B85,Intel Core i3-4330 3.5GHz 4Mb 2xDDR3-1600,Kingston HyperX 4Gb...USB GPS приемник Locosys LS-23030G.,блок питания M4-ATX
Windows 7-64, iCarDS 1.7.0.60 (лицензия)
Оформления и темы для iCarDS
Евген_21 вне форума   Ответить с цитированием
Старый 22.12.2017, 19:13   #199
Евген_21
Старший Пользователь
 
Аватар для Евген_21
 
Регистрация: 10.11.2014
Возраст: 48
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
Евген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of light
По умолчанию

Слава,привет. Сейчас пробую разобраться с Adobe Flash Professional CS5.5. Получилось сделать только часы, но если долго учится.... по любому что то получиться. С iCarDS уже немного что то получается. Так чуть понтанулся
__________________
GIGABYTE LGA1150 GA-85N B85,Intel Core i3-4330 3.5GHz 4Mb 2xDDR3-1600,Kingston HyperX 4Gb...USB GPS приемник Locosys LS-23030G.,блок питания M4-ATX
Windows 7-64, iCarDS 1.7.0.60 (лицензия)
Оформления и темы для iCarDS
Евген_21 вне форума   Ответить с цитированием
Старый 22.12.2017, 20:04   #200
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

Евген_21
Цитата:
Не думал что регистр имеет значение. Так не пошло (var ce_speed), а так все заработало (var CE_SPEED).
Интересный момент. Я тоже так думал))) Спасибо за тесты, теперь будем знать

Цитата:
А как стрелочный сделать?
Со стрелочным все сложнее...
Но есть варианты))
Самый простой, нарисовать кучу стрелок на все значения и в JS скрипте описать какую стрелку показывать при определенном значении.
Более сложный, рисуем стрелку и задаем ей движение в JS скрипте в редакторе.

Вот пример компаса с плавным движением...
- компас и небольшой мануал по флешкам...

В флэш редакторе есть редактор JS скрипта флэшки...
тут..


снимаешь комментарий с этого кода...
PHP код:
    //generate a target heading for testing.
    
rval Math.randomInt(100);
    if (
rval 2) {
        
targetHeading Math.randomInt(359) + 1
        
trace("new random heading!!!  " targetHeading);   
    } 
и наблюдаешь как работает компас
...

Привет ! еще раз))
Цитата:
Сейчас пробую разобраться с Adobe Flash Professional CS5.5
Забей ты на эту муть, только еще больше голову заморочишь. Используй тот редактор что был со спидфаном "SWiSH Max", там есть все что нужно и пользоваться проще + проверенный вариант и флэшки работают в икаре.
duzzy вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 12:31.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot