Subversion Repositories Kolibri OS

Rev

Rev 9870 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9870 Rev 9883
Line 1... Line 1...
1
;;      Copyright (C) 2021-2022, Michail Frolov aka Doczom
1
;;      Copyright (C) 2021-2022, Michael Frolov aka Doczom
Line 2... Line 2...
2
 
2
 
3
macro send_notify send_str{
3
macro send_notify send_str{
4
      mov     dword[run_notify.message], send_str
4
      mov     dword[run_notify.message], send_str
5
      mcall   SF_FILE, run_notify
5
      mcall   SF_FILE, run_notify
Line 20... Line 20...
20
include '..\..\proc32.inc'
20
include '..\..\proc32.inc'
21
include '..\..\macros.inc'
21
include '..\..\macros.inc'
22
include '..\..\KOSfuncs.inc'
22
include '..\..\KOSfuncs.inc'
23
include '..\..\dll.inc'
23
include '..\..\dll.inc'
Line 24... Line 24...
24
 
24
 
25
; include 'parser.inc'    ; this modul does not work
25
include 'parser.inc'
26
START:
26
START:
27
;init heap
27
;init heap
28
        mcall  68, 11
28
        mcall   68, 11
29
; load lib
29
; load lib
Line 33... Line 33...
33
;       init opendial
33
;       init opendial
34
        invoke OpenDialog_Init, OpenDialog_data
34
        invoke OpenDialog_Init, OpenDialog_data
35
; init futex
35
; init futex
36
        mcall SF_FUTEX, SSF_CREATE, futex_cmd
36
        mcall   SF_FUTEX, SSF_CREATE, futex_cmd
37
        mov    [futex_handle], eax
37
        mov     [futex_handle], eax
38
; parse cmd_line TODO: fix parser and testing
38
; parse cmd_line
39
        ;call    pars_cmd
39
        cmp     byte[PATH], 0
40
        ;test    eax, eax
40
        jz      @f
41
        ;jnz     exit
41
        call    parse_cmd
-
 
42
@@:
42
;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó
43
;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó
43
       mcall SF_SET_EVENTS_MASK,0x05
44
        mcall   SF_SET_EVENTS_MASK, 0x05
44
;load driver
45
;load driver
45
       mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, [drv_ptr], 0
46
        mcall   SF_SYS_MISC, SSF_LOAD_DRIVER_PE, [drv_ptr], 0
46
       mov dword[drv_struct.handl],eax
47
        mov     dword[drv_struct.handl], eax
47
       test eax,eax ;ïðîâåðêà çàãðóçêè
48
        test    eax, eax ;ïðîâåðêà çàãðóçêè
48
       jz  error_drv
49
        jz      error_drv
49
main:
50
main:
50
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
51
        mcall   SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
-
 
52
        cmp     dword[save_ptr], 0
-
 
53
        jz      still
-
 
54
        mcall   51, 1, thread_auto_save, thread_auto_save.stack
51
       cmp   byte[PATH], 0
55
        cmp     eax, -1
52
       jz    still
56
        jz      still
53
       ;call add_file
57
        mov     dword[PID_AUTO_SAVE], eax
54
still:           ;void main()
58
still:          ;void main()
55
       call draw
59
        call    draw
56
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
60
;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ
57
       mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second
61
        mcall   SF_WAIT_EVENT_TIMEOUT, 200 ;2 second
58
       dec eax                   ; redraw request ?
62
        dec     eax      ; redraw request ?
Line 180... Line 184...
180
       mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
184
        mcall   SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct
Line 181... Line 185...
181
 
185
 
182
       cmp byte[flag_micro_info],1
186
        cmp     byte[flag_micro_info], 1
183
       mov eax,SF_CHANGE_WINDOW
187
        mov     eax, SF_CHANGE_WINDOW
184
       mov ebx,-1
188
        mov     ebx, -1
185
       mov ecx,ebx;-1
189
        mov     ecx, ebx
Line 186... Line 190...
186
       jz draw.micro
190
        jz      draw.micro
187
 
191
 
188
       mov esi,0x00000115     ; link with 58 line
192
        mov     esi,0x00000115     ; link with 58 line
Line 384... Line 388...
384
       mov ecx,0x001d0015
388
        mov     ecx, 0x001d0015
385
       mov edx,eax;0x00000008
389
        mov     edx, eax;0x00000008
386
       mov esi,[sc.work_button]
390
        mov     esi, [sc.work_button]
387
       mcall
391
        mcall
Line 388... Line 392...
388
 
392
 
389
       mov eax,SF_DRAW_TEXT;4
393
        mov     eax, SF_DRAW_TEXT
390
       mov ebx,0x000a0020
394
        mov     ebx, 0x000a0020
391
       mov ecx,0x90000000
395
        mov     ecx, 0x90000000
392
       add ecx,[sc.work_text]
396
        add     ecx, [sc.work_text]
393
       mov edx,_Tctl
397
        mov     edx, _Tctl
Line 553... Line 557...
553
       mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
557
        mcall    68, 1 ; ïåðåêëþ÷àåì ïîòîêè, äëÿ òîãî, ÷òîáû ñîîáùåíèå ïðèøëî ïîòîêó ñ òàéìåðîì
554
       ; destroy futex
558
        ; destroy futex
555
       mcall    SF_FUTEX, SSF_DESTROY, [futex_handle]
559
        mcall    SF_FUTEX, SSF_DESTROY, [futex_handle]
556
       mcall    68, 13, [log_ptr] ; free page
560
        mcall    68, 13, [log_ptr] ; free page
Line -... Line 561...
-
 
561
 
557
 
562
        mcall    18, 18, dword[PID_AUTO_SAVE]
Line 558... Line 563...
558
       mcall SF_TERMINATE_PROCESS
563
        mcall SF_TERMINATE_PROCESS
559
 
564
 
560
err_load_lib:
565
err_load_lib:
Line 652... Line 657...
652
        movsd
657
        movsd
653
        movsd
658
        movsd
654
        movsd
659
        movsd
655
        movsd
660
        movsd
Line 656... Line 661...
656
 
661
 
657
;        cmp     dword[save_file], 0
662
        cmp     dword[save_ptr], 0
658
;        jnz     .no_save_mode
663
        jz      .no_save_mode
659
;        push    dword[log_path]
664
        push    dword[log_path]
660
;        mov     eax, [save_ptr]
665
        mov     eax, [save_ptr]
661
;        mov     [log_path], eax
666
        mov     [log_path], eax
662
;        mcall   70, file_log
667
        mcall   70, file_log
663
;        pop     dword[log_path]
668
        pop     dword[log_path]
664
;.no_save_mode:
669
.no_save_mode:
665
        jmp     @b
670
        jmp     @b
666
.err_alloc_2:
671
.err_alloc_2:
667
        send_notify  Error_text.alloc_2
672
        send_notify  Error_text.alloc_2
668
        jmp     @b
673
        jmp     @b
Line 673... Line 678...
673
        test    byte[futex_cmd], 1
678
        test    byte[futex_cmd], 1
674
        jz      @b
679
        jz      @b
675
.exit:
680
.exit:
676
        mov     byte[futex_cmd], 0x00
681
        mov     byte[futex_cmd], 0x00
677
        mcall   -1
682
        mcall   -1
-
 
683
 
-
 
684
thread_auto_save:
-
 
685
        mcall   40, 0  ;clear event mask
-
 
686
        ;calculate first data in file(4 value border graphic)
-
 
687
        mov     eax,[drv_data.Tmax]
-
 
688
        mov     ebx, graph_start_1.new_data
-
 
689
        call    int_to_str
-
 
690
        ;create file
-
 
691
        mcall   70, .file
-
 
692
        mov     dword[.file], 3
-
 
693
        mov     dword[.log_size], 20
-
 
694
        mov     dword[.log_offset], 19
-
 
695
        mov     dword[.log_ptr], graph_start_1.new_data
-
 
696
@@:
-
 
697
        mcall   5, 100*60
-
 
698
        ; add new item in file
-
 
699
        push    dword[.log_offset]
-
 
700
        mov     dword[.log_size], 4
-
 
701
        mov     dword[.log_offset], 2
-
 
702
        mov     eax,[.index_item]
-
 
703
        imul    eax,1000
-
 
704
        mov     ebx, graph_start_1.new_data
-
 
705
        call    int_to_str
-
 
706
        mcall SF_FILE, .file
-
 
707
        inc     dword[.index_item]
-
 
708
        pop     dword[.log_offset]
-
 
709
        mov     dword[.log_size], 20
-
 
710
        ; get string y koord
-
 
711
        mov     eax,[drv_data.Tctl]
-
 
712
        mov     ebx, graph_start_1.new_data_2
-
 
713
        call    int_to_str
-
 
714
        mcall SF_FILE, .file
-
 
715
        add     dword[.log_offset], 20
-
 
716
        jmp     @b
-
 
717
        mcall   -1
-
 
718
.index_item:    dd 1
-
 
719
.file:
-
 
720
                dd 2
-
 
721
.log_offset:    dd 0
-
 
722
                dd 0
-
 
723
.log_size:      dd 19
-
 
724
.log_ptr:       dd graph_start_1
-
 
725
                db 0
-
 
726
save_ptr:       dd 0 ; pointer to save file or zero
-
 
727
PID_AUTO_SAVE:  dd 0 ; for break this thread
678
;Data_program;
728
;Data_program;
679
title       db 'AMDtemp',0
729
title       db 'AMDtemp',0
680
path_drv    db '/kolibrios/drivers/sensors/k10temp.sys',0
730
path_drv    db '/kolibrios/drivers/sensors/k10temp.sys',0
681
Error_text  db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0
731
Error_text  db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0
682
.save_log:  db '"Error save log\nThe log has not been created" -tdE',0
732
.save_log:  db '"Error save log\nThe log has not been created" -tdE',0
Line 723... Line 773...
723
log_path:       dd openfile_path
773
log_path:       dd openfile_path
Line 724... Line 774...
724
 
774
 
725
futex_handle:     dd 0
775
futex_handle:     dd 0
Line 726... Line -...
726
futex_cmd:        dd 0 ;1- stop 2 - save in file & no exit 3 - save in file & exit
-
 
727
 
-
 
728
;save_file:        db 0 ; 0 - no 1 - save ïî ñòàðèíêå
776
futex_cmd:        dd 0 ;1- stop 2 - save in file & no exit 3 - save in file & exit
Line 729... Line 777...
729
;save_ptr:         dd 0 ; pointer to save file
777
 
730
drv_ptr:          dd path_drv ; pointer to path on driver
778
drv_ptr:          dd path_drv ; pointer to path on driver
Line 797... Line 845...
797
.message:        dd Error_text
845
.message:        dd Error_text
798
                 dd 0
846
                 dd 0
799
                 dd 0
847
                 dd 0
800
                 db '/sys/@notify',0
848
                 db '/sys/@notify',0
801
align 4
849
align 4
-
 
850
graph_start_1:  db '0 0000 0 '  ; 9 byte
-
 
851
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
-
 
852
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
-
 
853
align 4
802
graph_start:    db '0 0000 0 '  ; 9 byte
854
graph_start:    db '0 0000 0 '  ; 9 byte
803
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
855
.new_data:      db '0000.0000 ' ;  10-19 byte  10 byte
804
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
856
.new_data_2:    db '0000.0000 ' ;  20-29 byte  10 byte
Line 805... Line 857...
805
 
857
 
Line 854... Line 906...
854
   rd 256
906
   rd 256
855
STACKTOP:
907
STACKTOP:
Line 856... Line 908...
856
 
908
 
857
        rb      512 ; 512 byte for stack
909
        rb      512 ; 512 byte for stack
-
 
910
thread_timer.stack:
-
 
911
        rb      512 ; 512 byte for stack
858
thread_timer.stack:
912
thread_auto_save.stack:
859
;rb 1024
913
;rb 1024
860
        procinfo process_information
914
        procinfo process_information
861
        openfile_path:
915
        openfile_path:
862
                rb 4096
916
                rb 4096
863
MEM:
917
MEM: