Subversion Repositories Kolibri OS

Rev

Rev 9760 | Rev 9858 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9760 Rev 9771
Line 5... Line 5...
5
  dd     1
5
  dd     1
6
  dd     START
6
  dd     START
7
  dd     I_END       ; à §¬¥à ¯à®£à ¬¬ë
7
  dd     I_END       ; à §¬¥à ¯à®£à ¬¬ë
8
  dd     MEM         ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
8
  dd     MEM         ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
9
  dd     STACKTOP
9
  dd     STACKTOP
10
  dd     0
10
  dd     PATH
11
  dd     0
11
  dd     0
12
include '..\..\macros.inc'
12
include '..\..\macros.inc'
13
include '..\..\KOSfuncs.inc'
13
include '..\..\KOSfuncs.inc'
Line 14... Line 14...
14
 
14
 
Line 17... Line 17...
17
       mcall SF_SET_EVENTS_MASK,0x05
17
       mcall SF_SET_EVENTS_MASK,0x05
18
;load driver
18
;load driver
19
       mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, path_drv, 0
19
       mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, path_drv, 0
20
       mov dword[drv_struct.handl],eax
20
       mov dword[drv_struct.handl],eax
21
       test eax,eax ;ïðîâåðêà çàãðóçêè
21
       test eax,eax ;ïðîâåðêà çàãðóçêè
22
       jnz  main
-
 
23
       jmp error_drv
22
       jz  error_drv
24
main:
23
main:
25
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
24
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
-
 
25
       cmp   byte[PATH], 0
-
 
26
       jz    still
26
       call add_file
27
       call add_file
27
still:           ;void main()
28
still:           ;void main()
28
       call draw
29
       call draw
29
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
30
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
30
       mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second
31
       mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second
Line 44... Line 45...
44
;; id button micro_info = 8
45
;; id button micro_info = 8
45
       cmp ah,7 ;// ah-1=7
46
       cmp ah,7 ;// ah-1=7
46
       jnz still
47
       jnz still
47
       xor byte[flag_micro_info],1
48
       xor byte[flag_micro_info],1
48
       jmp still
49
       jmp still
-
 
50
 
-
 
51
align 4
49
draw:
52
draw:
50
       mcall SF_REDRAW, SSF_BEGIN_DRAW
53
       mcall SF_REDRAW, SSF_BEGIN_DRAW
51
       mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sc,sizeof.system_colors
54
       mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
Line 52... Line 55...
52
 
55
 
53
       mov eax,SF_CREATE_WINDOW
56
       mov eax,SF_CREATE_WINDOW
54
       mov ebx,0x00ff013f
57
       mov ebx,0x00ff013f
55
       mov ecx,0x001500cc
58
       mov ecx,0x001500cc
Line 58... Line 61...
58
       mov edi,title
61
       mov edi,title
59
       mcall
62
       mcall
Line 60... Line 63...
60
 
63
 
Line -... Line 64...
-
 
64
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
-
 
65
 
61
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
66
       cmp       byte[PATH], 0
62
 
67
       jz        @f
63
       dec       dword[update_flag]
68
       dec       dword[update_flag]
64
       jnz       @F
69
       jnz       @f
65
       call      add_new_item
70
       call      add_new_item
Line 66... Line 71...
66
       mov       dword[update_flag], 30
71
       mov       dword[update_flag], 30
Line 249... Line 254...
249
;; procedure write_data(eax, ebx);
254
;; procedure write_data(eax, ebx);
250
;; eax=x*65536+y
255
;; eax=x*65536+y
251
;; ebx=pointer on value
256
;; ebx=pointer on value
252
;; ecx register don`t save
257
;; ecx register don`t save
253
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
258
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
259
align 4
254
write_data:
260
write_data:
255
       push eax
261
       push eax
256
       push ebx
262
       push ebx
257
       ;mov edx,[ebx]  ;edx=value
263
       ;mov edx,[ebx]  ;edx=value
258
       mov esi,ebx
264
       mov esi,ebx
Line 343... Line 349...
343
error_drv:
349
error_drv:
344
       mcall SF_FILE,run_notify
350
       mcall SF_FILE,run_notify
345
exit:
351
exit:
346
       mcall SF_TERMINATE_PROCESS
352
       mcall SF_TERMINATE_PROCESS
Line -... Line 353...
-
 
353
 
347
 
354
align 4
348
add_file:
355
add_file:
349
        mcall SF_FILE, graph_temp
356
        mcall SF_FILE, graph_temp
350
        mov     dword[graph_temp], 3
357
        mov     dword[graph_temp], 3
351
        mov     dword[graph_temp.size], 11
358
        mov     dword[graph_temp.size], 10
352
        mov     dword[graph_temp.str], graph_start.new_data
359
        mov     dword[graph_temp.str], graph_start.new_data
353
        mov     eax,[drv_data.Tmax]
360
        mov     eax,[drv_data.Tmax]
354
        mov     dword[graph_temp.index], 9
361
        mov     dword[graph_temp.index], 9
355
        mov     ebx, graph_start.new_data
362
        mov     ebx, graph_start.new_data
356
        call    int_to_str
363
        call    int_to_str
Line 357... Line 364...
357
        mcall SF_FILE, graph_temp
364
        mcall SF_FILE, graph_temp
-
 
365
 
358
 
366
        mov     dword[graph_temp.index], 19
-
 
367
        mov     dword[graph_temp.size], 20
359
        mov     dword[graph_temp.index], 20
368
        ret
360
        ret
369
align 4
361
index_item:
370
index_item:
362
        dd    1
371
        dd    1
363
add_new_item:
372
add_new_item:
364
        mov     eax,[index_item]
373
        mov     eax,[index_item]
365
        imul    eax,1000
374
        imul    eax,1000
366
        mov     ebx, graph_start.new_data
375
        mov     ebx, graph_start.new_data
367
        call    int_to_str
-
 
368
        mcall SF_FILE, graph_temp
376
        call    int_to_str
-
 
377
        mcall SF_FILE, graph_koord_x2 ;save x2=index_item
369
        add     dword[graph_temp.index], 11
378
        inc     dword[index_item]
370
        inc     dword[index_item]
379
 
371
        mov     eax,[drv_data.Tctl]
380
        mov     eax,[drv_data.Tctl]
372
        mov     ebx, graph_start.new_data
381
        mov     ebx, graph_start.new_data_2
373
        call    int_to_str
382
        call    int_to_str
374
        mcall SF_FILE, graph_temp
383
        mcall SF_FILE, graph_temp
Line 375... Line 384...
375
        add     dword[graph_temp.index], 11
384
        add     dword[graph_temp.index], 20
376
        ret
385
        ret
377
 
386
 
378
;eax = int   value / 1000
387
;eax = int   value / 1000
-
 
388
;ebx = *str
379
;ebx = *str
389
; èç çà êîíêðåòèêè äàííîãî ïðèëàæåíèÿ(à èìåííî èçìåðåíèå òåìïåðàòóðû ïðîöà), ñîìíèâàþñü
380
; èç çà êîíêðåòèêè äàííîãî ïðèëàæåíèÿ(à èìåííî èçìåðåíèå òåìïåðàòóðû ïðîöà), ñîìíèâàþñü
390
; ÷òî ïîòðåáóåòñÿ áîëüøå 3 öèôð íà çíà÷åíèå(õõõ.õõõ) òàê ÷òî áóäåò êîñòûëü
381
; ÷òî ïîòðåáóåòñÿ áîëüøå 3 öèôð íà çíà÷åíèå(õõõ.õõõ) òàê ÷òî áóäåò êîñòûëü
391
align 4
382
int_to_str:
392
int_to_str:
383
        push    ecx edx esi
393
        push    ecx edx esi
Line 390... Line 400...
390
        div     esi
400
        div     esi
391
        push    edx
401
        push    edx
392
        mov     esi, 10
402
        mov     esi, 10
393
        push    ebx
403
        push    ebx
394
        add     ebx, 3
404
        add     ebx, 3
395
.loop:
-
 
396
        and     eax, 0x3ff ; 1023
405
        and     eax, 0x3ff ; 1023
-
 
406
.loop:
397
        test    eax, eax
407
        test    eax, eax
398
        jz      @f
408
        jz      @f
399
        xor     edx, edx
409
        xor     edx, edx
400
        div     esi
410
        div     esi
401
        add     edx, '0'
411
        add     edx, '0'
Line 404... Line 414...
404
        jmp     .loop
414
        jmp     .loop
405
@@:
415
@@:
406
        pop     ebx
416
        pop     ebx
407
        add     ebx, 8;4
417
        add     ebx, 8;4
408
        pop     edx
418
        pop     edx
409
        ;mov     byte[ebx],'.'
-
 
410
        ;add     ebx, 4
-
 
411
        test    edx, edx
419
        test    edx, edx
412
        jz      @f
420
        jz      @f
413
        mov     eax, edx
421
        mov     eax, edx
414
        imul    eax, 10
422
        imul    eax, 10
415
        xor     edx, edx
423
        xor     edx, edx
Line 462... Line 470...
462
.Tmax            dd -1
470
.Tmax            dd -1
463
.Tcrit           dd -1
471
.Tcrit           dd -1
464
.Tcrit_hyst      dd -1
472
.Tcrit_hyst      dd -1
465
.sizeof = $ - drv_data ;
473
.sizeof = $ - drv_data ;
Line -... Line 474...
-
 
474
 
466
 
475
align 4
467
drv_struct:
476
drv_struct:
468
.handl           dd 0
477
.handl           dd 0
469
                 dd 0
478
                 dd 0
470
                 dd 0
479
                 dd 0
471
                 dd 0
480
                 dd 0
472
                 dd drv_data
481
                 dd drv_data
473
                 dd drv_data.sizeof;52 ; 13*4
482
                 dd drv_data.sizeof;52 ; 13*4
474
 
483
align 4
475
run_notify:
484
run_notify:
476
                 dd 7
485
                 dd 7
477
                 dd 0
486
                 dd 0
478
                 dd Error_text
487
                 dd Error_text
479
                 dd 0
488
                 dd 0
480
                 dd 0
489
                 dd 0
Line -... Line 490...
-
 
490
                 db '/sys/@notify',0 ,0,0,0 ;âûðàâíèâàíèå
481
                 db '/sys/@notify',0 ,0,0,0 ;âûðàâíèâàíèå
491
 
482
 
492
align 4
483
update_flag:    dd 30 ;1 minut
493
update_flag:    dd 30 ;1 minut
-
 
494
graph_start:    db '0 0000 0 '  ; 9 byte
-
 
495
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
-
 
496
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
484
graph_start:    db '0 1000 0 '  ; 9 byte
497
 
485
.new_data:      db '0000.0000  ' ;  10-20 byte
498
align 4
486
graph_temp:
499
graph_temp:
487
                dd 2
500
                dd 2
488
.index:         dd 0
501
.index:         dd 0
489
                dd 0
502
                dd 0
-
 
503
.size:          dd 19 ;size 4 first value for Graph
-
 
504
.str:           dd graph_start ; çàìåíèòü
-
 
505
                db 0
-
 
506
                dd PATH
-
 
507
align 4
-
 
508
graph_koord_x2:
-
 
509
                dd 3
-
 
510
                dd 2 ;index for rewrite 2 value
490
.size:          dd 20 ;
511
                dd 0
-
 
512
                dd 4
-
 
513
                dd graph_start.new_data ; çàìåíèòü
-
 
514
                db 0
491
.str:           dd graph_start ; çàìåíèòü
515
                dd PATH
-
 
516
align 4
492
                db '/tmp0/1/graph_temp.txt',0,0 ; âûðàâíèâàíèå
517
PATH:
493
 
518
   rb 512 ; buffer for command line. string for save log.
494
sc      system_colors
519
sc      system_colors
495
I_END:
520
I_END:
496
   rd 256
521
   rd 256
497
STACKTOP:
522
STACKTOP: