Most desired upgrades and enhancements for MikroE compilers

Vote for top 3 features you would like to see in mikroC, mikroBasic or mikroPascal

Far function pointer for dsPIC, PIC24, PIC18 (reaching far function without handler table)
6
1%
Far pointer for P16 and P16ENH, automatic handling of IRP bit when dereferenced
12
2%
Weak attribute declaration
4
1%
mikro compilers on Apple platform (OS X)
26
4%
mikro compilers on Linux platform
41
6%
RAM memory organization with command like orgall
10
2%
orgall for files
3
0%
Option for write constants into EEPROM while compiling
26
4%
Relocation of the vector table
7
1%
Ethernet PING routine
18
3%
Enable ENC24j600 clock out
0
No votes
DMA library (all architectures)
67
10%
Improvement of the "sprintf" routine (%c in sprintf() routine)
13
2%
Option for auto hide "Messages / Quick converter "panel
4
1%
Project manager improvement (option for customization of folders)
8
1%
Bootloader command line
12
2%
UDP terminal source port
6
1%
Make MCU name editable (Edit project improvement)
6
1%
HID Terminal constant data sending
7
1%
Library for HX8357 display controller
7
1%
SQI library in PIC32 compiler
8
1%
Quadrature Encoder Interface (QEI) on PIC18
21
3%
I2S library for dsPIC and PIC32 compilers
10
2%
Support for LPUART on STL0x chips
1
0%
I2S library for ARM
11
2%
Stop Build option of one project
2
0%
Option for search and sort project based on the MCU
3
0%
String comparison by the pattern
6
1%
TFT Get Pixel routine in the TFT library
10
2%
OLED library
30
5%
CRC (cyclic redundancy check) function
18
3%
DOT operator for addressing bits in variables (type longlong)
12
2%
Ability to set fuses via compiler directives rather than Edit Project
9
1%
FSMC support for STM32 library
9
1%
COFF file compatible with Proteus and Atmel AVR Studio for AVR's
7
1%
Ability to declare and initialize variables at the same time (mikroBasic & mikroPascal)
10
2%
Support for High Endurance Flash Memory (HEF)
1
0%
Improved/corrected documentation
30
5%
Universal GPIO library for setting pin/port states and receiving pin/port logic states.
13
2%
IR communication library for MCUs with IR receiving units.
1
0%
RTC library for MCUs with built-in RTC modules.
24
4%
Display controller libraries for MCUs with built-in display controllers like STM32F429.
10
2%
CRC, AES and DES libraries for MCUs with built-in capabilities.
10
2%
USB library for ATXMega and AVR MCUs that have built-in USB hardware.
6
1%
Support for RTOS in mikroC PRO for AVR
4
1%
Graphical clock configuration tool for MCU that have multiple clock sources.
12
2%
Support for TFT and OLED controllers ST7735, ILI9325, SSD1306.
31
5%
Support for STC microcontrollers in 8051 compilers.
2
0%
Compiler puts output files in the separate folder.
4
1%
Bootloader supports HEX file from MPLAB and Keil
3
0%
Current location in the calling tree while debugging.
3
0%
Directive for aligning variables in RAM in all compilers.
2
0%
Package manager integral part of the IDE
7
1%
Support for inline functions.
8
1%
Enhancement of FAT32 to support multi device and the exFAT.
4
1%
More GUI objects in Visual TFT (lists, drop down lists,menus,grids, graphs).
26
4%
Support for Nordic Semiconductor nRF51 and nRF52 Series SoC
4
1%
 
Total votes: 655

Author
Message
josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#91 Post by josef2600 » 06 Jul 2017 10:41

SimonD wrote:My first wish (i would say demand) is an EQUAL SUPPORT for LIBRARIES, DRIVERS and EXAMPLES for other compilers such as BASIC and PASCAL. Please don't forget that we have pay .. equal ...
Maybe your problem is the human resources, but this is your problem ... and this is not excuse for your customers ...
If i can propose something else in your list this is a library (and not only for C) for the most popular Touch Controller in the market at this moment, the XPT2046.
Thanks again
HI,
but that one harts! basic compilers are 50$ cheaper. NOT equal .
but on XPT2046 i am with you.

janni
Posts: 5373
Joined: 18 Feb 2006 13:17
Contact:

Re: Most desired upgrades and enhancements for MikroE compil

#92 Post by janni » 06 Jul 2017 12:20

josef2600 wrote:but that one harts! basic compilers are 50$ cheaper. NOT equal .
That's in the past - there's no price difference now and current explanation is that all compilers require the same amount of effort.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#93 Post by josef2600 » 08 Jul 2017 21:21

janni wrote:
josef2600 wrote:but that one harts! basic compilers are 50$ cheaper. NOT equal .
That's in the past - there's no price difference now and current explanation is that all compilers require the same amount of effort.
sorry, yes, i was shortened!
i really respect to other languages, specially basic. after all i work with it for 17 years. from qbasic and GWBASIC (good old times!) to picbasic then mikrobasic. it was DOS on the PC's back then.
this is cruel when mikroe doesn't follow on their compilers. well C for pic32 is very bad! i can say i have worked with at lest 14 different compilers. from 8051 to AVR & PIC & ARM - and one for 8086 ! 6 years working with c language.
I can say mikroc pic32 is the worst and for mikroc pic is the best. i have not worked mikroc for arm and have no idea. but i say it with all respect for mikroe co.
i am going simple on what is why !
Mplab X for pic32 with harmony, is the most powerful compiler in the world ( wait for it !) if and only if you only use the microchip embedded boards! for me it was completely useless ! i needed a net and some i/o futures and SD card and only one LCD ( 2 line ). it is a joke with mikroc pic32, but ... i worked on it for 3 month on that mo... fu...er ! for me that was impossible. as far as i know it is the most expensive piss of shet ! there are some other compilers for pic32 , but they are extremely useless. sure , there are lots of problems with mikroe , but , and it is a very big but , they are full free. you only pay 300$ for it and you are don. it is extremely important for me because i producing products and sell them. all library's are free but in microchip for everything must be payed. for example, remember i needed a library for LCD 2 line ? well you are not going to believe wat happened to me in microchip forum to me !
usually no one , and i mean no one is going to help you ! the answers are vary from bull of shet to you being stupid and get the hell out of here. some say they have what you need, but they are never going to give it to you! in short even the support of microchip is going to insult you for existing! sharing codes ? it is a dream over there.

there is another very good reason for using mikroe compilers. if i am using pic32 in c, i can use c for all microcontrollers , pic 8051 avr arm. the compiler and most libs are exactly the same.

sometimes when see some post i get angry, people insult mikroe for some reasons, that is bad. mikroe has the best tools for micros. i am not saying they are doing a very good job, but instead of that, we can work together to make them work better. you may say how ? we say every problem 50 times to them and they don't do sh..t. well it has a good way to do it. when you fined a real problem or a bug , first be sure you are correct, search the forum, when you are sure and fined some others that have the same problem, contact each others and destroy the support of mikroe. with calls, emails, online help, .... . they can ignore forums or one person , but they cant fight a crowd. and always make sure to write your progress on the forums so others know that and know how to get answers from mikroe.

at last special hello and regards to filip, my man !

best regards, Josef.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#94 Post by josef2600 » 08 Jul 2017 21:31

tm01 wrote:Hi
Since VisualTFT will go into the compiler, I think that my requested feature should stand on this list:

Since a few years I am waiting for 16Bit support of SSD1963 Displays with 800x480 resolution. There are many posts in the forum about that. mE announced that feature years ago. Since Jan 2015 a 7" tft with that controller and that resolution is in the mE shop. I hoped the VisualTFT update would come soon. But it didn't. I think that I'm not the only person who need that feature.
i am with you all the way. i am working on this exact problem for few weeks too. i think i have 2 options, write my own lib ( useless ) or work with other giu , for example from microchip. but it will take a lot of my time. i need it soon, if they dont fix it in this month i will go on that.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#95 Post by josef2600 » 08 Jul 2017 21:34

Toley wrote:
janni wrote:
Kalain wrote:The most important thing before to add new features is to fix all known bugs.
This, unfortunately, never seems to be a priority :( . Fixing bugs is much more demanding than writing a library or two (or promising to do that :wink: ).

On the other hand, one doesn't have to be a marketing guru to see the difference in appeal between 'many new features!' and 'many bugs fixed!' :lol: .
I completely agree, fixing existing bugs should be the priority. But to do that they should list the bugs first. Everytime someone report an old bug on the forum, they act like it's the first time they heard about it.
janni wrote:
Toley wrote: Everytime someone report an old bug on the forum, they act like it's the first time they heard about it.
As there are several new people representing mE on forums, they may indeed have heard about old quirks and errors for the first time :) . I'm sure that many users, especially beginners, appreciate increased responsiveness and quick help the new staff offers. Unfortunately, this is also a kind of buffer between users on one side and developers and management on the other, and passing complaints and bug reports through this buffer may look like information is falling into black hole. (For all we know it might, judging by lack of reaction to some complaints :wink: but more probable scenario is that the managing team decides what's best for the company and neither users nor developers may easily sway its decisions.)

On the positive side, at least we see some action, and though it's not yet what we'd expect, we may hope that mE's management finally figured out that there's a limit to customers' patience.
i think my solution will work.
viewtopic.php?f=160&t=68444&p=284003#p284001

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#96 Post by josef2600 » 08 Jul 2017 21:50

joseLB wrote:Maybe the most important thing is not at the list.

It´s VITAL to fix things like the ones reported by Janny.
Without that fixed, v6.6.3 is a dangerous version to be used.
It´s a nightmare to debug a new program when a compiler generates wrong code...

Janny did a kind work to list and study most of that problems, so, I think that´s the biggest priority.
link -> http://forum.mikroe.com/viewtopic.php?f=93&t=68477
details -> http://www.cobir.com/quirks.htm

After that, the other suggestions (I voted for 3).

But go to Mac...frankly, that will bring a huge effort to MikroE, drifting it´s man-power, that could be invested in fixing Janny´s critical issues, fixing IDE, and implement the voted topics faster.
Besides that, to maintain "n" versions of the compiler (IDE, for example), will be something... We can expect many IDE´s new quirks.
For what? Mac enthusiasts (how many?) could use a virtual machine with a more solid ME compilers... (ME could advise in forum best practices/experiences for a fraction of the effort)

Thanks
Jose
if i got that right, i think for now i can fix your problem. just install a 8051 compiler (or an old version of your compiler) and just do what you want to it, then close it and take the "settings.ini" file and copy it in the last version of your compiler and replace it. the setting will work, it did for me. i added my setting for all compilers in c. you can do it with basic yourself.

best regards, Josef.
Attachments
mikroC PRO for 8051.rar
Zedar.col
i changed the colors of coding the way i like. you should select it in setting. for all compilers it works.
------------------
settings.ini
just copy it in the install directory and replace the old one with this. this is for c languages, i don't know if it works for other languages too.
(3.99 KiB) Downloaded 1609 times

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#97 Post by josef2600 » 08 Jul 2017 22:01

p.erasmus wrote:mE this is a bit of a problem you put a list on for voting and then after 6 weeks you add more stuff to the list, if this list would have been on from the start I would have vote differently now is to late so my guess is your voting system does not reflect reality
sorry to say
:D
prometus wrote:Why we can not vote for C++ compiler.
:(
+1
very good.


regards.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#98 Post by josef2600 » 08 Jul 2017 22:16

hooper wrote:Hi
I would like to see the following:
1. TFT support of unicode strings and fonts
2. Enhancement of FAT32 tosupport multi device and multifile and the exFAT
3. More GUI objects (lists, drop down lists,menus,grids, graphs).
4. SMS library

Regards,
M. Hooper
+1

thanks,
there are so much mikroe can do, but !!! 3 vote is really low.

best regards.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#99 Post by josef2600 » 10 Jul 2017 08:54

hello, i found another problem with pic32 compiler.
configure Prefetch CACHE.

yes, compiler does configure Prefetch CACHE , but with what Values ?
if i set it with Zero Wait state, micro doesn't work! but in 1 wait state it works.
can you tell why ? and what is the compiler wait state and what are the setting or Values for "CHECON" register?

for everyone : and why it is important ?

at the first page of datasheet we have this :
Quote:
1.56 DMIPS/MHz (Dhrystone 2.1) Performance
at 0 Wait State Flash Access

if we cant have 0 Wait State Flash Access , then we don't have 1.56 DMIPS/MHz (Dhrystone 2.1) Performance.

i believe your compiler set the waite state to 2 Wait State Flash Access. that is very bad!

i think everyone needs it !

best regards.Josef.
viewtopic.php?f=164&t=70438&p=284027#p284027

User avatar
filip
mikroElektronika team
Posts: 11874
Joined: 25 Jan 2008 09:56

Re: Most desired upgrades and enhancements for MikroE compil

#100 Post by filip » 10 Jul 2017 16:37

Hi josef2600,

Thank you for the suggestions, we have read them carefully, this kind of feedback means a lot to our company.

As for the prefetch cache, I will see this with the developers and let you know.

Regards,
Filip.

dangerous
Posts: 748
Joined: 08 Mar 2005 16:06
Location: Nottinghamshire, UK

Re: Most desired upgrades and enhancements for MikroE compil

#101 Post by dangerous » 10 Jul 2017 16:40

Thanks josef2600.

The autohide function was re-instated in V 7 of MikroBasic.

With the latest version V7.1 another old bug has surfaced where if the cursor is off the page (scrolled down or up) using the "replace" function in edit or cntl+R hangs the program. It can be re-started with esc or alt+f4.

Thanks for your input.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#102 Post by josef2600 » 10 Jul 2017 21:06

filip wrote:Hi josef2600,

Thank you for the suggestions, we have read them carefully, this kind of feedback means a lot to our company.

As for the prefetch cache, I will see this with the developers and let you know.

Regards,
Filip.
hey filip ! whats up! 8)
thank you for your kind words, it is very relaxing for me and others. but your development team are so slow !
i have afew suggestions :
put this in the pool ! direct contact and mostly online part in site for communications between users and dev team. it is going to be first wot
forgot the rest!
best regards, Josef.

josef2600
Posts: 94
Joined: 01 Jan 2012 03:26

Re: Most desired upgrades and enhancements for MikroE compil

#103 Post by josef2600 » 10 Jul 2017 21:10

dangerous wrote:Thanks josef2600.

The autohide function was re-instated in V 7 of MikroBasic.

With the latest version V7.1 another old bug has surfaced where if the cursor is off the page (scrolled down or up) using the "replace" function in edit or cntl+R hangs the program. It can be re-started with esc or alt+f4.

Thanks for your input.
sure, i am killing myself to fix the libraries, the good thing is that all compilers have almost identical libs.
i have found and fixed a lot of problems. specialty with tft and ssd1963. i will continue , but i have lot of works to do .

best regards, Josef.

arco
Posts: 312
Joined: 15 Apr 2008 13:54
Location: The Netherlands

Re: Most desired upgrades and enhancements for MikroE compil

#104 Post by arco » 17 Jul 2017 09:00

Would be nice if Goto also accepts absolute jumps (so we don't need inline assembly):

Code: Select all

GOTO 0x01200
or give possibility for a label to have a fixed addres:

Code: Select all

MyLabel:  ORG 0x1200
...
...
...
GOTO      MyLabel
Regards,

Peter.

dangerous
Posts: 748
Joined: 08 Mar 2005 16:06
Location: Nottinghamshire, UK

Re: Most desired upgrades and enhancements for MikroE compil

#105 Post by dangerous » 17 Jul 2017 09:53

You can do that using org directive:

Code: Select all

sub procedure proc(dim par as word) org 0x200
' Procedure will start at the address 0x200;...end sub
call like so:

Code: Select all

 proc(par)
from main
or for function

Code: Select all

Sub function proc(dim par as byte) as byte  org 0x200
 'do code
  result = some_byte_value

then:

Code: Select all

ret_value = proc(par)
returns some_byte_value from calling program.

See absolute in help for details

This code can be followed in the debugger.

Code: Select all

program LED_Blinking
dim i,delay_value as byte


sub function  change_delay(dim j as byte)as byte   org 0x250
        j = j + 25
        result = j   'each call extends j by 25
end sub

sub procedure portchange org 0x200
    LATA = NOT LATA     ' Flip PORTA
    if delay_value <= 99 then
                      delay_value = change_delay(delay_value)
     else
                      delay_value = 25
     end if
     for i = 0 to delay_value
          delay_ms(1)
     next i
     nop
 end sub
main:
  TRISA = 0         ' set direction to be output
  LATA = 0          'set low
  while TRUE
                 portchange
  wend              ' Endless loop
end.
View the list to see the location of the routines as 0x200 and 0x250. Just make sure that they cannot overlap or be overwritten.

Code: Select all

;  LST file generated by mikroListExporter - v.2.0 
; Date/Time: 17/07/2017 09:14:44
;----------------------------------------------

;Address Opcode 	ASM
0x0000	0xF000EF0E  	GOTO        28
0x0004	0x0000      	NOP
0x0006	0x0000      	NOP
0x0008	0xF000EF00  	GOTO        0
0x000C	0x0000      	NOP
0x000E	0x0000      	NOP
0x0010	0x0000      	NOP
0x0012	0x0000      	NOP
0x0014	0x0000      	NOP
0x0016	0x0000      	NOP
0x0018	0xD7F3      	BRA         0
_main:
;LedBlinking.mbas,48 :: 		main:
;LedBlinking.mbas,49 :: 		TRISA = 0         ' set direction to be output
0x001C	0x6A92      	CLRF        TRISA 
;LedBlinking.mbas,50 :: 		LATA = 0          'set low
0x001E	0x6A89      	CLRF        LATA 
;LedBlinking.mbas,51 :: 		while TRUE
L__main13:
;LedBlinking.mbas,52 :: 		portchange
0x0020	0xD8EF      	RCALL       512
;LedBlinking.mbas,53 :: 		wend              ' Endless loop
0x0022	0xD7FE      	BRA         L__main13
L_end_main:
0x0024	0xD7FF      	BRA         $+0
; end of _main
_portchange:
;LedBlinking.mbas,36 :: 		sub procedure portchange org 0x200
;LedBlinking.mbas,37 :: 		LATA = NOT LATA     ' Flip PORTA
0x0200	0x1E89      	COMF        LATA, 1 
;LedBlinking.mbas,38 :: 		if delay_value <= 99 then
0x0202	0x5016      	MOVF        _delay_value, 0 
0x0204	0x0863      	SUBLW       99
0x0206	0xE306      	BNC         L__portchange3
;LedBlinking.mbas,39 :: 		delay_value = change_delay(delay_value)
0x0208	0xF017C016  	MOVFF       _delay_value, FARG_change_delay_j
0x020C	0xD821      	RCALL       592
0x020E	0xF016C000  	MOVFF       R0, _delay_value
0x0212	0xD002      	BRA         L__portchange4
;LedBlinking.mbas,40 :: 		else
L__portchange3:
;LedBlinking.mbas,41 :: 		delay_value = 25
0x0214	0x0E19      	MOVLW       25
0x0216	0x6E16      	MOVWF       _delay_value 
;LedBlinking.mbas,42 :: 		end if
L__portchange4:
;LedBlinking.mbas,43 :: 		for i = 0 to delay_value
0x0218	0x6A15      	CLRF        _i 
L__portchange5:
0x021A	0x5015      	MOVF        _i, 0 
0x021C	0x5C16      	SUBWF       _delay_value, 0 
0x021E	0xE30E      	BNC         L__portchange9
;LedBlinking.mbas,44 :: 		delay_ms(1)
0x0220	0x0E0B      	MOVLW       11
0x0222	0x6E0C      	MOVWF       R12, 0
0x0224	0x0E62      	MOVLW       98
0x0226	0x6E0D      	MOVWF       R13, 0
L__portchange10:
0x0228	0x2E0D      	DECFSZ      R13, 1, 0
0x022A	0xD7FE      	BRA         L__portchange10
0x022C	0x2E0C      	DECFSZ      R12, 1, 0
0x022E	0xD7FC      	BRA         L__portchange10
0x0230	0x0000      	NOP
;LedBlinking.mbas,45 :: 		next i
0x0232	0x5015      	MOVF        _i, 0 
0x0234	0x1816      	XORWF       _delay_value, 0 
0x0236	0xE002      	BZ          L__portchange9
0x0238	0x2A15      	INCF        _i, 1 
0x023A	0xD7EF      	BRA         L__portchange5
L__portchange9:
;LedBlinking.mbas,46 :: 		nop
0x023C	0x0000      	NOP
;LedBlinking.mbas,47 :: 		end sub
L_end_portchange:
0x023E	0x0012      	RETURN      0
; end of _portchange
_change_delay:
;LedBlinking.mbas,31 :: 		sub function  change_delay(dim j as byte)as byte   org 0x250
;LedBlinking.mbas,32 :: 		j = j + 25
0x0250	0x0E19      	MOVLW       25
0x0252	0x2417      	ADDWF       FARG_change_delay_j, 0 
0x0254	0x6E00      	MOVWF       R0 
0x0256	0xF017C000  	MOVFF       R0, FARG_change_delay_j
;LedBlinking.mbas,33 :: 		result = j   'each call extends j by 25
0x025A	0xF001C000  	MOVFF       R0, R1
;LedBlinking.mbas,34 :: 		end sub
0x025E	0xF000C001  	MOVFF       R1, R0
L_end_change_delay:
0x0262	0x0012      	RETURN      0
; end of _change_delay
Symbol List:
//** Routines locations **
//ADDRESS    SIZE    PROCEDURE
//----------------------------------------------
0x001C      [10]    _main
0x0200      [64]    _portchange
0x0250      [20]    _change_delay
//** Variables locations ** 
//ADDRESS    SIZE    VARIABLE
//----------------------------------------------
0x0000       [1]    R0
0x0001       [1]    R1
0x0001       [1]    change_delay_local_result
0x0002       [1]    R2
0x0003       [1]    R3
0x0004       [1]    R4
0x0004       [4]    Get_Fosc_kHz_local_result
0x0005       [1]    R5
0x0006       [1]    R6
0x0007       [1]    R7
0x0008       [1]    R8
0x0009       [1]    R9
0x000A       [1]    R10
0x000B       [1]    R11
0x000C       [1]    R12
0x000D       [1]    R13
0x000E       [1]    R14
0x000F       [1]    R15
0x0010       [1]    R16
0x0011       [1]    R17
0x0012       [1]    R18
0x0013       [1]    R19
0x0014       [1]    R20
0x0015       [1]    _i
0x0016       [1]    _delay_value
0x0017       [1]    FARG_change_delay_j
0x0F89       [1]    LATA
0x0F92       [1]    TRISA
(or just let the compiler do the thinking for you!)

Post Reply

Return to “PIC32 Compilers General”