<!doctype html>
<html class="no-js" lang="en">
    <head>
        

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />

        
        
        
    
        
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-cmp-top.js?1751047936"></script>

        
    

        


            


    <script>
        bizx.cmp.ifConsent({ purposes: 'ads', vendors: 'adshield'}, function () {
            var s = document.createElement('script');
            s.async = true;s.id = "FIXtUCr";
            s.setAttribute('data-sdk', 'l/1.1.5');
            s.setAttribute('data-cfasync', 'false');
            s.src = "https://as.sourceforge.net/loader.min.js";
            s.charset = "UTF-8";
            s.data="ithc1r8q8e878b8v808e1p8efy81108k3e8iy28y8e808784y8i801m8i8i878y8e387848r8i28y8e878i8g8712z80808y8e8sf12y81108k8s8e1z89";
            s.setAttribute('onload', "!async function(){let e='html-load.com';const t=window,r=e=>new Promise((t=>setTimeout(t,e))),o=t.atob,a=t.btoa,n=r=>{const n=o('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');if(confirm(n)){const o=new t.URL('https://report.error-report.com/modal'),n=o.searchParams;n.set('url',a(location.href)),n.set('error',a(r.toString())),n.set('domain',e),location.href=o.href}else location.reload()};try{const l=()=>new Promise((e=>{let r=Math.random().toString(),o=Math.random().toString();t.addEventListener('message',(e=>e.data===r&&t.postMessage(o,'*'))),t.addEventListener('message',(t=>t.data===o&&e())),t.postMessage(r,'*')}));async function s(){try{let e=!1,o=Math.random().toString();if(t.addEventListener('message',(t=>{t.data===o+'_as_res'&&(e=!0)})),t.postMessage(o+'_as_req','*'),await l(),await r(500),e)return!0}catch(e){console.error(e)}return!1}const c=[100,500,1e3];for(let i=0;i<=c.length&&!await s();i++){if(i===c.length-1)throw o('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+e+o('IGlzIHRhaW50ZWQuIFBsZWFzZSBhbGxvdyA')+e;await r(c[i])}}catch(d){console.error(d);try{t.localStorage.setItem(t.location.host+'_fa_'+a('last_bfa_at'),Date.now().toString())}catch(m){}try{setInterval((()=>document.querySelectorAll('link,style').forEach((e=>e.remove()))),100),alert(d);const h=await(await fetch('https://error-report.com/report?type=loader_light&url='+a(location.href)+'&error='+a(d),{method:'POST'})).text();let g=!1;t.addEventListener('message',(e=>{'as_modal_loaded'===e.data&&(g=!0)}));let p=document.createElement('iframe');const v=new t.URL('https://report.error-report.com/modal'),u=v.searchParams;u.set('url',a(location.href)),u.set('eventId',h),u.set('error',a(d)),u.set('domain',e),p.src=v.href,p.setAttribute('style','width:100vw;height:100vh;z-index:2147483647;position:fixed;left:0;top:0;');const I=e=>{'close-error-report'===e.data&&(p.remove(),t.removeEventListener('message',I))};t.addEventListener('message',I),document.body.appendChild(p);const G=()=>{const e=p.getBoundingClientRect();return'none'!==t.getComputedStyle(p).display&&0!==e.width&&0!==e.height},f=setInterval((()=>{if(!document.contains(p))return clearInterval(f);G()||(n(d),clearInterval(f))}),1e3);setTimeout((()=>{g||n(errStr)}),3e3)}catch(w){n(w)}}}();");
            s.setAttribute('onerror', "!async function(){const t=window,e=t.atob,r=t.btoa;let o=JSON.parse(e('WyJodG1sLWxvYWQuY29tIiwiZmIuaHRtbC1sb2FkLmNvbSIsImNvbnRlbnQtbG9hZGVyLmNvbSIsImZiLmNvbnRlbnQtbG9hZGVyLmNvbSJd'));const a=o=>{const a=e('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');if(confirm(a)){const e=new t.URL('https://report.error-report.com/modal'),a=e.searchParams;a.set('url',r(location.href)),a.set('error',r(o.toString())),a.set('domain',domain),location.href=e.href}else location.reload()};try{if(void 0===t.as_retry&&(t.as_retry=0),t.as_retry>=o.length)throw e('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+o[0]+e('IGlzIGJsb2NrZWQuIFBsZWFzZSBhbGxvdyA')+o[0];const r=document.getElementById('FIXtUCr'),a=document.createElement('script');for(let t=0;t<r.attributes.length;t++)a.setAttribute(r.attributes[t].name,r.attributes[t].value);const n=new t.URL(r.getAttribute('src'));n.host=o[t.as_retry++],a.setAttribute('src',n.href),r.setAttribute('id',r.getAttribute('id')+'_'),r.parentNode.insertBefore(a,r),r.remove()}catch(e){console.error(e);try{t.localStorage.setItem(t.location.host+'_fa_'+r('last_bfa_at'),Date.now().toString())}catch(t){}try{setInterval((()=>document.querySelectorAll('link,style').forEach((t=>t.remove()))),100),alert(e);const o=await(await fetch('https://error-report.com/report?type=loader_light&url='+r(location.href)+'&error='+r(e),{method:'POST'})).text();let n=!1;t.addEventListener('message',(t=>{'as_modal_loaded'===t.data&&(n=!0)}));let s=document.createElement('iframe');const c=new t.URL('https://report.error-report.com/modal'),l=c.searchParams;l.set('url',r(location.href)),l.set('eventId',o),l.set('error',r(e)),l.set('domain',domain),s.src=c.href,s.setAttribute('style','width: 100vw; height: 100vh; z-index: 2147483647; position: fixed; left: 0; top: 0;');const i=e=>{'close-error-report'===e.data&&(s.remove(),t.removeEventListener('message',i))};t.addEventListener('message',i),document.body.appendChild(s);const d=()=>{const e=s.getBoundingClientRect();return'none'!==t.getComputedStyle(s).display&&0!==e.width&&0!==e.height},m=setInterval((()=>{if(!document.contains(s))return clearInterval(m);d()||(a(e),clearInterval(m))}),1e3);setTimeout((()=>{n||a(errStr,domain)}),3e3)}catch(t){a(t)}}}();");
            document.head.appendChild(s);
        });
    </script>


        <script>
            /*global unescape, window, SF*/
            // Setup our namespace
            if (!window.SF) { window.SF = {}; }
            if (!window.net) { window.net = {}; }
            if (!window.net.sf) { window.net.sf = {}; }
            SF.Ads = {};
            SF.cdn = '//a.fsdn.com/con';
            SF.alluracdn = '//a.fsdn.com/allura/cdn/allura/nf';
            SF.deploy_time = '1751047936';
            SF.sandiego = true;
            SF.sandiego_chrome = true;
            SF.variant = 'sf';
            SF.fpid = '3485ea26-94e7-4762-a49a-8d7a60e41f4d';
            SF.billboard_route = '/software/product/$slug/';
            
            SF.Breakpoints = {
              small: 0,
              medium: 640,
              leaderboard: 743,
              billboard: 985,
              large: 1053,
              xlarge: 1295,
              xxlarge: 1366
            };
            SF.initial_breakpoints_visible = {};
            for (var bp in SF.Breakpoints) {
                if (!SF.Breakpoints.hasOwnProperty(bp)) {
                    continue;
                }
                SF.initial_breakpoints_visible[bp] = !window.matchMedia || window.matchMedia('(min-width: ' + SF.Breakpoints[bp] + 'px)').matches;
            }
            
                
                SF.Ads.viewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
                SF.Ads.viewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
            
        </script>

        
        <script>
            window.ID5EspConfig = {partnerId: 1787};
        </script>
        

        
<script>
    var data = {hem: null };
    bizx.uids.gatherAndClean(data);
</script>
<script>
                
                bizx.cmp.ifConsent({ purposes: 'ads', vendors: ['amazon-ads']}, function () {
                    
                    /*jshint ignore:start*/
                    !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js");
                    /*jshint ignore:end*/
                    /*global apstag*/

                    apstag.init({
                         pubID: 'c97760a3-e14d-4cad-9969-833f3ed793e6',
                         adServer: 'googletag'
                    });
                });
                
            

            SF.Ads.prebidOptions = {
                showIndicators: false,
                analytics: false,
                timeout: 650,
                timeouts_by_bids: {500: 5, 650: 0},
                pbjsConfig: { 
                },
                uids: { 
                    ip: "2a06:98c0:3600::103",},
            };

            if (!SF.Ads.prebidOptions.uids.hem) {
                SF.Ads.prebidOptions.uids.hem = bizx.uids.getHem();
            }

            SF.Ads.prebidUnits = [];
            if (SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"364652"}},
                            {"bidder":"rubicon","params":{"zoneId":"486000","sizes":[2],"position":"atf","accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":9265107}},
                            {"bidder":"sharethrough","params":{"pkey":"0O0HaNkULcWUqgdT4RyA3HmD"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4741589","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887797,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1394209358853-0",
                    tag: "SF_ProjectSum_728x90_A",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_728x90_A",
                    } },
                    mediaTypes: { banner: {
                        sizes: [],
                        pos: 1,
                    } }
                }; 
                if (SF.Ads.viewportWidth >= 728 && SF.Ads.viewportHeight >= 200){
                    thisUnit.mediaTypes.banner.sizes = [[728,90]];
                } 
                if (SF.Ads.viewportWidth >= 970 && SF.Ads.viewportHeight >= 901){
                    thisUnit.mediaTypes.banner.sizes = [[728,90],[970,250]];
                }

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (!SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"542316"}},
                            {"bidder":"rubicon","params":{"zoneId":"610848","sizes":[43],"position":"atf","accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":12559081}},
                            {"bidder":"sharethrough","params":{"pkey":"BMaGlI19W57KKQXdp5OJTkmO"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4845070","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887185,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1512154506943-0",
                    tag: "SF_Mobile_320x50_A",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_Mobile_320x50_A",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[320,50]],
                        pos: 1,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (SF.initial_breakpoints_visible.large) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"364649"}},
                            {"bidder":"rubicon","params":{"zoneId":"486000","sizes":[15,10],"position":"atf","accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":9265108}},
                            {"bidder":"sharethrough","params":{"pkey":"wRfKsiMDUYdf3l7d5oiqLGNN"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4741586","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1911495,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1394209358855-0",
                    tag: "SF_ProjectSum_300x250_A",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_300x250_A",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[300,250],[300,600]],
                        pos: 1,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (SF.initial_breakpoints_visible.large) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"364650"}},
                            {"bidder":"rubicon","params":{"zoneId":"486010","sizes":[15],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":9265109}},
                            {"bidder":"sharethrough","params":{"pkey":"7HxEnZ0CEMTA5NRl4AUaORu0"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4741587","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1911495,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1394209358856-0",
                    tag: "SF_ProjectSum_300x250_B",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_300x250_B",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[300,250]],
                        pos: 6,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (SF.initial_breakpoints_visible.large) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"364651"}},
                            {"bidder":"rubicon","params":{"zoneId":"486010","sizes":[15],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":9265110}},
                            {"bidder":"sharethrough","params":{"pkey":"rvuxL42mH8PIbkmQJS7tHEZh"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4741588","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1911495,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1394209358857-0",
                    tag: "SF_ProjectSum_300x250_C",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_300x250_C",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[300,250]],
                        pos: 6,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"364655"}},
                            {"bidder":"rubicon","params":{"zoneId":"486010","sizes":[2],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":9265111}},
                            {"bidder":"sharethrough","params":{"pkey":"gxlPOpGoCVd0mEaTT2EaPIkD"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4741590","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887797,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1392148208790-0",
                    tag: "SF_ProjectSum_728x90_B",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_728x90_B",
                    } },
                    mediaTypes: { banner: {
                        sizes: [],
                        pos: 3,
                    } }
                }; 
                if (SF.Ads.viewportWidth >= 728 && SF.Ads.viewportHeight >= 200){
                    thisUnit.mediaTypes.banner.sizes = [[728,90]];
                } 
                if (SF.Ads.viewportWidth >= 1280 && SF.Ads.viewportHeight >= 200){
                    thisUnit.mediaTypes.banner.sizes = [[728,90],[970,250]];
                }

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (!SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"542317"}},
                            {"bidder":"rubicon","params":{"zoneId":"798260","sizes":[43],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":12559084}},
                            {"bidder":"sharethrough","params":{"pkey":"SXwmmIIkcmWjzHzA894YxcyC"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4845074","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887185,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1512154653435-0",
                    tag: "SF_Mobile_Multi_B",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_Mobile_Multi_B",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[300,50],[300,250],[320,50],[320,100]],
                        pos: 3,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"542319"}},
                            {"bidder":"rubicon","params":{"zoneId":"486010","sizes":[2],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":12559070}},
                            {"bidder":"sharethrough","params":{"pkey":"ocrhilNvTSAhgL1EczYFJ2hy"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4845073","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887797,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1491500833666-0",
                    tag: "SF_ProjectSum_728x90_C",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_ProjectSum_728x90_C",
                    } },
                    mediaTypes: { banner: {
                        sizes: [],
                        pos: 5,
                    } }
                }; 
                if (SF.Ads.viewportWidth >= 728 && SF.Ads.viewportHeight >= 200){
                    thisUnit.mediaTypes.banner.sizes = [[728,90]];
                } 
                if (SF.Ads.viewportWidth >= 1280 && SF.Ads.viewportHeight >= 200){
                    thisUnit.mediaTypes.banner.sizes = [[728,90],[970,250]];
                }

                SF.Ads.prebidUnits.push(thisUnit);
            }
            if (!SF.initial_breakpoints_visible.leaderboard) {
                var thisUnit =  {
                    bids: [{"bidder":"sovrn","params":{"tagid":"542318"}},
                            {"bidder":"rubicon","params":{"zoneId":"798260","sizes":[43],"accountId":"15680","siteId":"103240"}},
                            {"bidder":"appnexus","params":{"placementId":12559087}},
                            {"bidder":"sharethrough","params":{"pkey":"fHzpAnRYW6tF9CT8ux9oAtwB"}},
                            {"bidder":"pubmatic","params":{"adSlot":"4845075","publisherId":"162538"}},
                            {"bidder":"smartadserver","params":{"pageId":1887185,"networkId":4559,"siteId":575816,"formatId":119583}},
                            ],
                    code: "div-gpt-ad-1512154755912-0",
                    tag: "SF_Mobile_Multi_C",
                    ortb2Imp: { ext: {
                        gpid: "/41014381/Sourceforge/SF_Mobile_Multi_C",
                    } },
                    mediaTypes: { banner: {
                        sizes: [[300,50],[300,250],[320,50],[320,100]],
                        pos: 3,
                    } }
                };

                SF.Ads.prebidUnits.push(thisUnit);
            }
            SF.Ads.prebidAdjustments = {"bidder_deflations":{"aardvark":1,"aol":0.98,"appnexus":1.07,"brealtime":0.98,"districtm":1.04,"districtmdmx":1.08,"emxdigital":1,"indexex#hange":0.98,"indexexchange":0.95,"komoona":0.92,"oftmedia":0.9,"onefiftytwo":0.9,"pubmatic":1,"pulsepoint":0.93,"rhythmone":0.85,"rubicon":1.23,"rubiconlite":1,"sharethrough":1.07,"smartadserver":1.15,"sovrn":1.25,"springserve":0.001},"inflation":1,"floor":0.02};
        </script>

        

        
            <script id="pbjs_script" data-dom="https://d3tglifpd8whs6.cloudfront.net"  src="//a.fsdn.com/con/js/sftheme/vendor/bizx-prebid.js?1751047936"></script>
        
        <script>
            function logAdsConsent(msg) {
            }
            bizx.cmp.ifConsent({ purposes: 'all', vendors: 'prebid'}, function () { // hasConsentFn
                if (window.bizxPrebid) {
                    window.bizxPrebid.Ads.initPrebid(window.bizxPrebid.adUnits);
                }
                
                    
                    var link = document.createElement("link");
                    link.rel = "preload";
                    link.as = "script";
                    link.href = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
                    document.head.appendChild(link);
                
                logAdsConsent('pageview with ads consent');
            }, function() { // rejectedFn
                // no 'prebid' consent (e.g. region without prebid consent string support) but try GPT directly
                bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function () { // hasConsentFn
                    bizx.cmp.embedScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js');
                    logAdsConsent('pageview without prebid consent but able to run GPT');
                }, function() { // rejectedFn
                    logAdsConsent('pageview without ads consent');
                }, null,
                function() { // unknownFn
                    logAdsConsent('pageview without prebid consent and UNKNOWN ads consent');
                });
            }, null,
            function() { // unknownFn
                logAdsConsent('pageview with UNKNOWN ads consent');
            });
            </script>
        
            
    
    
    
    
    
    
    
    
    <link rel="stylesheet" href="//a.fsdn.com/con/css/lato.css?1751047936">

        
        
        
        <link rel="stylesheet" href="//a.fsdn.com/con/css/sandiego.css?1751047936">
        
        <link rel="stylesheet" href="//a.fsdn.com/con/css/disallow.css?1751047936">

        
<meta name="description" content="Download uLan protocol for RS-485 9-bit network for free.  uLan is message oriented multi-master communication protocol for microcontrollers. It uses 9-bit character format for addressing and link control and RS-485 physical layer."/>
<meta name="keywords"
      content="uLan protocol for RS-485 9-bit network, download uLan protocol for RS-485 9-bit network free, Hardware Drivers"/>



<meta property="og:title" content="uLan protocol for RS-485 9-bit network"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="https://sourceforge.net/projects/ulan/"/>
<meta property="og:site_name" content="SourceForge"/>
<meta property="og:description" content="Download uLan protocol for RS-485 9-bit network for free.  uLan is message oriented multi-master communication protocol for microcontrollers. It uses 9-bit character format for addressing and link control and RS-485 physical layer."/>



        <title>uLan protocol for RS-485 9-bit network download | SourceForge.net</title>
        <link rel="icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png" type="image/png">
<link rel="icon" sizes="any" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" type="image/svg+xml">
<link rel="apple-touch-icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png">
<link rel="mask-icon" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" color="#FF6600">
        
        <script>
            /*global unescape, window, console, jQuery, $, net, SF, bizx  */
            if (!window.SF) {
                window.SF = {};
            }SF.EU_country_codes = ["HU","PM","CZ","IT","LV","AX","ES","PF","BE","GS","MS","TF","LT","MF","AW","AT","GL","MQ","BL","RO","IE","GG","GP","FK","GI","SX","LI","IS","JE","SH","VG","NL","AI","KY","FR","BG","NC","FI","GF","DK","PN","EE","CW","TC","ME","SK","GB","HR","GR","SI","LU","PT","IO","DE","MT","BM","CH","CY","RE","SE","YT","NO","WF","PL"];
            SF.unknown_country_codes = ["","A1","A2","O1"];
        </script>
        
    
        
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-head.js?1751047936"></script>

        
    


        <style>.q07d99549970743a3b19cc49376cd9542fbbbf68e { display: none !important; }</style>
<link rel="alternate" type="application/rss+xml" title="uLan protocol for RS-485 9-bit network&#8230;Recent Activity" href="/p/ulan/activity/feed"/>
<link rel="alternate" type="application/rss+xml" title="uLan protocol for RS-485 9-bit network&#8230;File Releases"
      href="/projects/ulan/rss?path=/"/>
<link rel="canonical" href="https://sourceforge.net/projects/ulan/">

        
<script>SF.adblock = true;</script>  
<script src="//a.fsdn.com/con/js/adpopup.js?1751047936"></script>



<script>
       /*global Foundation */
           /*global googletag, bizxPrebid */
            SF.Ads.gptExpected();
            SF.Ads.usePrebid = true;

       var gptadslots=[];
       var gptadHandlers={};
       var gptadRenderers=[];
       SF.Ads.slotsById = {};
       SF.Ads.idsByPath = {};

        googletag.cmd.push(function() {
            var leaderboard = googletag.sizeMapping()
                .addSize([970, 901], [[728,90],[970,250]])
                .addSize([728, 200], [[728,90]])
                .build();
            var leaderboardInContent = googletag.sizeMapping()
                .addSize([1280, 200], [[728,90],[970,250]])
                .addSize([728, 200], [[728,90]])
                .build();

                googletag.pubads().setTargeting('usingSafeFrame','1')
                .setSafeFrameConfig({
                        allowOverlayExpansion: true,
                        allowPushExpansion: true,
                        sandbox: true
                });

                var thisSlot;
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_A',"fluid",'div-gpt-ad-1715706427041-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"fluid")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1715706427041-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_A'] = 'div-gpt-ad-1715706427041-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_B',"fluid",'div-gpt-ad-1715706481535-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"fluid")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1715706481535-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_B'] = 'div-gpt-ad-1715706481535-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_C',"fluid",'div-gpt-ad-1715706533700-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"fluid")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1715706533700-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_C'] = 'div-gpt-ad-1715706533700-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_A',
                                                            [728, 90],'div-gpt-ad-1394209358853-0')
                                                        .defineSizeMapping( leaderboard )
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1394209358853-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_A'] = 'div-gpt-ad-1394209358853-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_320x50_A',[320,50],'div-gpt-ad-1512154506943-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"320x50")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1512154506943-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_320x50_A'] = 'div-gpt-ad-1512154506943-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_A',[[300,250],[300,600]],'div-gpt-ad-1394209358855-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x250,300x600")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1394209358855-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_A'] = 'div-gpt-ad-1394209358855-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_B',[300,250],'div-gpt-ad-1394209358856-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x250")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1394209358856-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_B'] = 'div-gpt-ad-1394209358856-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_C',[300,250],'div-gpt-ad-1394209358857-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x250")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1394209358857-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_C'] = 'div-gpt-ad-1394209358857-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_B',
                                                            [728, 90],'div-gpt-ad-1392148208790-0')
                                                        .defineSizeMapping( leaderboardInContent )
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1392148208790-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_B'] = 'div-gpt-ad-1392148208790-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_B',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154653435-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x50,300x250,320x50,320x100")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1512154653435-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_B'] = 'div-gpt-ad-1512154653435-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_C',
                                                            [728, 90],'div-gpt-ad-1491500833666-0')
                                                        .defineSizeMapping( leaderboardInContent )
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1491500833666-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_C'] = 'div-gpt-ad-1491500833666-0';
                thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_C',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154755912-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x50,300x250,320x50,320x100")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1512154755912-0'] = thisSlot;
                SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_C'] = 'div-gpt-ad-1512154755912-0';
                thisSlot = googletag.defineSlot('/7346874/SF-300x250',[300,250],'div-gpt-ad-1392148208795-0')
                                                        .addService(googletag.pubads())
                                                            .setTargeting('oss_tpc',["Hardware","Hardware Drivers","System"])
                                                            .setTargeting('shortname',"ulan")
                                                            .setTargeting('dc_ref',"https://sourceforge.net/projects/ulan/")
                                                            .setTargeting('sz',"300x250")
                                                            .setTargeting('page_type',"pg_project");
                gptadslots.push(thisSlot);
                SF.Ads.slotsById['div-gpt-ad-1392148208795-0'] = thisSlot;
                SF.Ads.idsByPath['/7346874/SF-300x250'] = 'div-gpt-ad-1392148208795-0';   
                
                googletag.pubads().enableAsyncRendering();

                googletag.pubads().collapseEmptyDivs();
                    googletag.pubads().enableLazyLoad({fetchMarginPercent: 0,renderMarginPercent: 0,});googletag.pubads().addEventListener('slotOnload', function(event) {
                    SF.Ads.Helpers.getSizeAndSetClass.call(this, event);
                });
                googletag.pubads().addEventListener('slotRenderEnded', function(event) {
                    var unitName = event.slot.getAdUnitPath();
                    if ( unitName in gptadHandlers ) {
                    for (var i = 0; i < gptadHandlers[unitName].length; i++) {
                        try {
                            SF.Ads.RenderHandlers[gptadHandlers[unitName][i]].call(this, event);
                        } catch (e) {
                        }
                    }
                    }
                    if (event.slot.getResponseInformation()) {
                        SF.Ads.RenderHandlers.decorateSizeDelivered.call(this, event);
                    } else {SF.Ads.RenderHandlers.gotBlank.call(this, event);
                    }
                    if(SF.Ads.scrollFixable) {
                        SF.Ads.scrollFixable.scrollRelocate();
                    }
                });
                googletag.pubads().addEventListener('slotVisibilityChanged', SF.Ads.visibilityChangedTracker);
                SF.Ads.setupAdRefresh();
                googletag.pubads().addEventListener('impressionViewable', SF.Ads.RenderHandlers.viewabilityInstrumentation);
                
                googletag.pubads().addEventListener('slotRenderEnded', SF.Ads.listenerForBlockThis);
                bizxPrebid.Ads.pushToGoogle();

                console.log('GPT enableServices');
                googletag.enableServices();

                if ($.isEmptyObject(SF.Ads.slotsById)) {
                    $('body').addClass("no-ads");
                }
            });
   </script>  

        

        
    <script>
        function initPiwik(){
            var _paq = window._paq = window._paq || [];
            _paq.push(['trackPageView', document.title, {
                    dimension1: 'ulan',
                dimension2: 'pg_project',
                dimension3: SF.devicePixelRatio,
                
            }]);
            _paq.push(['enableLinkTracking']);

            (function() {
                var u="//analytics.slashdotmedia.com/";
                _paq.push(['setTrackerUrl', u+'sf.php']);
                _paq.push(['setSiteId', 39]);
                 
        // only execute if 'measurement' has been granted
        bizx.cmp.ifConsent({ purposes: ['measurement'], vendors: 'sdm'}, function() {
            var interval = 6 * 60 * 60 * 1000; // 6 hrs, expressed in ms
            var vid_date = new Date(localStorage.getItem('vid_date'));
            if (new Date() - vid_date >= interval) {
                var data = {do_not_sell: false, is_commercial_page: "False" };
                bizx.cmp.ifConsent({ purposes: ['ads'], vendors: 'sdm'}, function() {},
                    function(){
                        // no consent (opt-out)
                        data.do_not_sell = true;
                    },
                    function(){
                        //finally call api endpoint
                        // push promise to pwik and set it run if pwik is allowed to run based on it's own ifConsent check
                        _paq.push([ function() {
                            data.matomo_id = this.getVisitorId();
                            data.domain = "sourceforge.net";
                            $.ajax({
                                method: 'PUT',
                                url: '/p/sfapi/push_vid',
                                data:  JSON.stringify(data)
                            })
                            .done(function(response){
                                if(response.result) {
                                    localStorage.setItem('vid_date', new Date());
                                }
                            })
                            .fail(function(){
                                // Do nothing on failure
                            });
                        }]);
                    }
                    );
                }
            });
    
                var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
                g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'sf.js'; s.parentNode.insertBefore(g,s);
            })();
        }
        bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'sdm' }, initPiwik);
    </script>


        
        


        

        <script type="application/ld+json">
            {
                "@context": "http://schema.org",
                "@type": "WebSite",
                "name": "SourceForge",
                "url": "https://sourceforge.net/"
            }
        </script>
    </head>
    <body id="pg_project"
          class="  anonymous has-ads sandiego v-sf">
        

            
        <div id="busy-spinner"></div>
        
        
<div id="messages">
</div>


        <div class="off-canvas position-right" id="offCanvas" data-off-canvas>
    <!-- Menu -->
    <ul class="header-nav-menulist">
        <li class="highlight search">
            
            
                
            
            
    <form method="get" action="/directory/" class="m-search-form">
    
        <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" >
        
        <label >
            <input type="submit" class="bt" value="">
            


<svg  data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg>
        </label>
    </form>
        </li>
        
        <li class="highlight"><a href="https://sourceforge.net/auth/">Join/Login</a></li>
        
        <li><a href="/software/">Business Software</a></li>
        <li><a href="/directory/">Open Source Software</a></li>
        <li><a  href="/software/vendors/" title="For Vendors">For Vendors</a></li>
        <li><a href="/blog/" title="Blog">Blog</a></li>
        <li><a href="/about">About</a></li>
        <li><a id="header-nav-more" data-toggle="header-nav-more header-nav-more-content" data-toggler=".toggled">More</a></li>
        <li>
            <ul id="header-nav-more-content" class="toggled" data-toggler=".toggled">
                
    

    
    
        <li><a href="/articles/">Articles</a></li>
    
    

    
 
                
                <li><a href="/create">Create</a></li>
                
                <li><a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a></li>
                
                    <li><a href="https://sourceforge.net/p/forge/documentation/Docs%20Home/">Site Documentation</a></li>
                
                <li><a href="/user/newsletters">Subscribe to our Newsletter</a></li>
                <li><a href="/support">Support Request</a></li>
            </ul>
        </li>
    </ul>
</div>

        <div class="off-canvas-content" data-off-canvas-content>
            
                


<script>
    SF.linkout_icon = '<svg  data-name="sf-linkout-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><polygon class="st0" points="243.2,243.2 56.8,243.2 56.8,56.8 123,56.8 123,9 9,9 9,291 291,291 291,179.4 243.2,179 "/><polygon class="st0" points="128.5,213 155,186.5 176,165.5 206.7,196.3 235.5,132.5 248.9,102.6 290.6,9.8 291,9 290.6,9.2 197.4,51.1 169.1,63.8 103.7,93.3 137,126.5 115.9,147.5 89.5,174 "/></svg>';
</script>


    <section class="sandiego l-header-nav-top show-for-large">
        <div class="row">
            <a href="/" title="Home" class="sf-logo">
                
    
    <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg"  alt="SourceForge logo" class="sf-logo-full"/>
            </a>
            <nav class="links">
                
                    <a href="/user/newsletters" title="Subscribe to our newsletter"><span class="newsletter-icon">


<svg  data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></span></a>
                
                <a href="/software/vendors/" title="For Vendors">For Vendors</a>
                
                
                    <a href="/support" title="Help">Help</a>
                    <a href="/create/" title="Create">Create</a>
                

                
                <a href="/user/registration" title="Join" >Join</a>
                <a href="https://sourceforge.net/auth/" title="Login">Login</a>
                
            </nav>
        </div>
    </section>

<div class="l-header-nav sticky sandiego l-header-nav-collapse">

    <section class="sandiego l-header-nav-top hide-for-large">
        <div class="row">
            <a href="/" title="Home" class="sf-logo">
                
    
    <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg"  alt="SourceForge logo" class="sf-logo-full"/>
            </a>
            <div class="title-bar-right">
                <button type="button" aria-label="Toggle Main Menu" class="menu-icon" data-toggle="offCanvas"></button>
            </div>
        </div>
    </section>
    <section class="sandiego l-header-nav-bottom">
        <nav class="row">
            <a href="/" title="Home" class="sf-logo">
                
    
    <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg"  alt="SourceForge logo" class="sf-logo-full"/>
            </a>
            <div class="links">
                
    
        <div class="nav-dropdown">
            <a href="/software/">Business Software</a>
            
        </div>
        <div class="nav-dropdown">
            <a href="/directory/" title="Browse">Open Source Software</a>
            
        </div>
        <div class="nav-dropdown">
            <a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a>
        </div>
        <div class="nav-dropdown">
            <a>Resources</a>
            <ul class="nav-dropdown-menu">
                  <li><a href="/articles/">Articles</a></li>
                  
                  <li><a href="/software/case-studies/">Case Studies</a></li>
                  
                  <li><a href="/blog/">Blog</a></li>
            </ul>
        </div>
    

                <div class="dev-menu-when-stuck">
                    Menu
                    <ul class="dev-menu-dropdown header-nav-menulist">
                        <li><a href="/support">Help</a></li>
                        <li><a href="/create">Create</a></li>
                        <li><a href="/user/registration/" title="Join" >Join</a></li>
                        <li><a href="https://sourceforge.net/auth/" title="Login">Login</a></li>
                    </ul>
                </div>
                <div class="search-toggle-when-stuck">
                    <a class="search-toggle">
                        


<svg  data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg>
                    </a>
                </div>
            </div>

            <div class="search">
                
                
    
    
        <div class="main-nav-link">
            
            
            <a href="https://www.avast.com/lp-free-av?full_trSrc=mmm_srf_dlp_008_406_a&amp;utm_medium=referral&amp;utm_source=sourceforge&amp;utm_campaign=srf_dlp_008_406_a:site_banner" rel="nofollow" target="_blank" id="main-nav-badge-link" data-label="avastjune">
                <img src="//a.fsdn.com/con/assets/maxnav/sourceforge/nav32-347199d0.png"  srcset="//a.fsdn.com/con/assets/maxnav/sourceforge/nav64-34727d78.png 2x"  alt="" id="main-nav-image"/>
            </a>
        </div>
    


                
                    
                
                
                
                
    <form method="get" action="/directory/" class="m-search-form">
    
    <div class="typeahead__container">
      <div class="typeahead__field">
        <div class="typeahead__query">
        
        <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" >
        
        </div>
        
        <label >
            <input type="submit" class="bt" value="">
            


<svg  data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg>
        </label>
      </div>
    </div>
    
    </form>
                
            </div>
        </nav>
        
    </section>
    <div id="banner-sterling" class="sterling">
        
        
        


    


<div id="SF_ProjectSum_728x90_A_wrapped" data-id="div-gpt-ad-1394209358853-0" class="draper   
visibility_rules
 v_970_billboard  v_728_leaderboard "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_728x90_A_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1394209358853-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_728x90_A'] = function(){  // jshint ignore:line
    
        if (!SF.adblock) {
            
                
            
            $('#div-gpt-ad-1394209358853-0').parents('.draper').css("min-height", 90 + 13 + 12); // for height of .lbl-ad and padding
        }
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1394209358853-0');
    });
};
gptadRenderers['SF_ProjectSum_728x90_A']();  // jshint ignore:line
}
</script>
        


    


<div id="SF_Mobile_320x50_A_wrapped" data-id="div-gpt-ad-1512154506943-0" class="draper   
"> </div><script>
/*global googletag */
if (!SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_Mobile_320x50_A_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1512154506943-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_Mobile_320x50_A'] = function(){  // jshint ignore:line
    
        if (!SF.adblock) {
            
                
            
            $('#div-gpt-ad-1512154506943-0').parents('.draper').css("min-height", 50 + 13 + 12); // for height of .lbl-ad and padding
        }
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1512154506943-0');
    });
};
gptadRenderers['SF_Mobile_320x50_A']();  // jshint ignore:line
}
</script>
    </div>
</div>
            

            
                

                
                <div class="l-two-column-page">
                    <div class="l-content-column l-has-sidebar">
                        
<div class="project-body" itemscope itemtype="http://schema.org/SoftwareApplication">
    
    
    

    
    
        
    

    
<section class="project-masthead"> 
    
    

    
<div class="backdrop" style="box-sizing: content-box; padding-bottom: 162px"></div>

    <div class="content">
    
        
    <nav id="breadcrumbs" class="breadcrumbs rtl">
        <ul itemscope itemtype="http://schema.org/BreadcrumbList">
            
            <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a itemprop="item" href="/"><span itemprop="name">Home</span></a>
            <meta itemprop="position" content="1" />
            </li>
            
            <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                <a itemprop="item" href="/directory/"><span itemprop="name">Open Source Software</span></a>
                <meta itemprop="position" content="2" />
            </li>
            <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                <a itemprop="item" href="/directory/system/"><span itemprop="name">System</span></a>
                <meta itemprop="position" content="3" />
            </li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                <a itemprop="item" href="/directory/hardware/"><span itemprop="name">Hardware</span></a>
                <meta itemprop="position" content="4" />
            </li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                <a itemprop="item" href="/directory/hardware-drivers/"><span itemprop="name">Hardware Drivers</span></a>
                <meta itemprop="position" content="5" />
            </li><li class="project" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">uLan protocol for RS-485 9-bit network</span><meta itemprop="position" content="6" />
            </li>
            
        </ul>
    </nav>

    
    
    
        
                
                
<div class="overview">
    
        
    


<div class="project-icon  default-project-icon " >
    
    
    


<svg  data-name="default-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><rect class="st0" width="300" height="300"/><g><path class="st1" d="M162.5,154.8c0-28.9-10.2-42-15.6-46.9c-1.1-1-2.7-0.1-2.6,1.3c1.1,16.3-19.4,20.3-19.4,45.9h0c0,0.1,0,0.1,0,0.2c0,15.6,11.8,28.3,26.3,28.3c14.5,0,26.3-12.7,26.3-28.3c0-0.1,0-0.1,0-0.2h0c0-7.2-2.7-14.1-5.5-19.3c-0.5-1-2.1-0.6-1.9,0.3C174.9,158.1,162.5,171.8,162.5,154.8z"/><g><path class="st1" d="M131.2,215.6c-0.7,0-1.3-0.3-1.8-0.7l-67.2-67.1c-1-1-1-2.6,0-3.6l70.9-70.9c0.5-0.5,1.1-0.7,1.8-0.7h20.4c1.2,0,2,0.8,2.3,1.6c0.3,0.7,0.3,1.9-0.5,2.7l-66.7,66.7c-1.3,1.3-1.3,3.5,0,4.9l52.7,52.7c1,1,1,2.6,0,3.6L133,214.9C132.5,215.4,131.9,215.6,131.2,215.6z"/></g><g><path class="st1" d="M144.7,227.4c-1.2,0-2-0.8-2.3-1.5c-0.3-0.7-0.3-1.9,0.5-2.7l66.7-66.7c0.7-0.6,1-1.5,1-2.4s-0.4-1.8-1-2.4l-52.7-52.7c-1-1-1-2.6,0-3.6l10.2-10.2c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l67,67.1c0.5,0.5,0.7,1.1,0.7,1.8s-0.3,1.3-0.7,1.8l-70.9,70.9c-0.5,0.5-1.1,0.7-1.8,0.7H144.7z"/></g></g></svg>
    </div>


    
    <div class="title long-title"> 

        
        <h1 class="long-title" itemprop="name">uLan protocol for RS-485 9-bit network
        </h1>
         
          
        
            
            
            <div class="as-h3 brought-by">
                
                Brought to you by:
                
                    <a href="/u/porazil/profile/">porazil</a>,
                    
                
                    <a href="/u/ppisa/profile/">ppisa</a>,
                    
                
                    <a href="/u/smolik/profile/">smolik</a>
                    
                
            </div>
            
        

        

        
    </div>


    

</div>

                
                  
    
        <div class="stats ">
            
    
    
    <div class="rating">
        <a href="/projects/ulan/reviews/" class="count" title="Add a review">
            Add a Review
        </a>
    </div>
    

    <div class="as-h2">
        <b class="label">Downloads:</b>
        <a href="/projects/ulan/files/stats/timeline" title="Downloads This Week">
            1 This Week
        </a>
    </div>

    <div class="as-h2">
        <b class="label">Last Update:</b>
        <a href="/p/ulan/activity/">
            <time class="dateUpdated" datetime="2025-05-11">2025-05-11</time>
        </a>
    </div>

        </div>

        <div class="buttons">
            

<div class="download-container">
    <a href="/projects/ulan/files/latest/download" title="Download ul_drv-1.1.2-win64.zip from SourceForge  - 118.2 kB" class="button download big-text green "><img src="//a.fsdn.com/con/images/sandiego/sf-icon-black.svg"  alt="" class="sf-download-icon" /> Download</a>
    <div class="tip trusted-file" aria-haspopup="true" data-position="left" data-tooltip-class="tooltip" >
                
<svg  data-name="shield-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM235.313 381.941l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L224 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.248 6.25 16.379 6.25 22.627.001z"/></svg>
            </div>
</div>

<meta itemprop="fileSize" content="118221"/><meta itemprop="fileFormat" content="application/zip; charset=binary"/><div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="hide">
    <meta itemprop="price" content="0"/>
    <meta itemprop="priceCurrency" content="USD" />
    <link itemprop="availability" href="http://schema.org/InStock" />
</div>






            <a id="share-project-button" class="button default" href="#">Share This</a>
            

<div class="social-sharing-buttons invisible hide">
    
    
    
    <a rel=nofollow class="social-media-icon twitter" href="https://twitter.com/share?url=https://sourceforge.net/projects/ulan/&amp;text=Download%20uLan%20protocol%20for%20RS-485%209-bit%20network%20on%20SourceForge%20for%20free%21%20" title="Share uLan protocol for RS-485 9-bit network on SourceForge on Twitter">


<svg  data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/></svg></a>
    <a rel=nofollow class="social-media-icon facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://sourceforge.net/projects/ulan/&title=uLan%20protocol%20for%20RS-485%209-bit%20network%20on%20SourceForge" title="Share uLan protocol for RS-485 9-bit network on SourceForge on facebook">


<svg  data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z"/></svg></a>
    <a rel=nofollow class="social-media-icon linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://sourceforge.net/projects/ulan/&title=uLan%20protocol%20for%20RS-485%209-bit%20network%20on%20SourceForge&source=SourceForge.net" title="Share uLan protocol for RS-485 9-bit network on SourceForge on LinkedIn">


<svg  data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z"/></svg></a>
</div>

            <div id="get-updates">
    <img id="psp_newsletter_subscribe-icon" src="//a.fsdn.com/con/images/sandiego/sf_email_icon.svg"  alt="Email in envelope"  />
    
        <h4>Get an email when there's a new version of uLan protocol for RS-485 9-bit network</h4>
        <div id="get-updates-form">
            <form>
                <input type="email" name="email" placeholder="Enter your email address" value="">
                <a id="get-updates-button" class="button blue" data-open="psp-newsletter-modal">Next</a>
            </form>
        </div>
    
    </div>
    <div class="psp_newsletter_subscribe reveal" data-reveal id="psp-newsletter-modal" data-v-offset="0" data-ajax-url="/projects/ulan/get_updates?source=PSP">

    </div>
    <script>

    $('#get-updates-form input[type="email"]').on('focus', function(){
        if(SF.downloader) {
            SF.downloader.cancelRedirect();
        }
        SF.noRedirect =  true;
    });
    $('#get-updates-button').click(function(){
        if(SF.downloader) {
            SF.downloader.cancelRedirect();
        }
        SF.noRedirect =  true;
    });
    $("#get-updates-form form").on("keydown", function(event) {
        if(event.which === 13) {
            if (SF.downloader) {
                SF.downloader.cancelRedirect();
            }
            SF.noRedirect = true;
            $('#get-updates-button').trigger('click');
        }
    });

    </script>

        </div>

        
            <div class="platforms">
                
                <span><meta itemprop="operatingSystem" content="Linux"/>Linux</span>
                
                <span><meta itemprop="operatingSystem" content="Windows"/>Windows</span>
                
            </div>
        

        <div class="badges">
                



        </div>
    
    
            
            
        
    </div>
</section>


    
        
    <div id="top_nav"><div id="top_nav_admin">
        <ul class="dropdown">
            
            <li class="selected">
                <a href="/projects/ulan/"
                >
                <span>Summary</span></a>
                
            </li>
            
            <li >
                <a href="/projects/ulan/files/"
                >
                <span>Files</span></a>
                
            </li>
            
            <li >
                <a href="/projects/ulan/reviews/"
                >
                <span>Reviews</span></a>
                
            </li>
            
            <li >
                <a href="/projects/ulan/support"
                >
                <span>Support</span></a>
                
            </li>
            
            <li >
                <a href="/p/ulan/discussion/"
                >
                <span>Discussion</span></a>
                
            </li>
            
            <li >
                <a href="/p/ulan/_list/git"
                >
                <span>Git ▾</span></a>
                
                <ul>
                    
                    <li>
                        <a href="/p/ulan/sysless/"
                            >sysless
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan/"
                            >ulan
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-addons/"
                            >ulan-addons
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-admin/"
                            >ulan-admin
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-app/"
                            >ulan-app
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-doc/"
                            >ulan-doc
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-drv/"
                            >ulan-drv
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-genmod/"
                            >ulan-genmod
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/ulan-libs4c/"
                            >ulan-libs4c
                        </a>
                    </li>
                    
                    <li>
                        <a href="/p/ulan/_list/git"
                            >More...
                        </a>
                    </li>
                    
                </ul>
                
            </li>
            
            
        </ul>
        
    </div></div>
    
    
  

    <article class="main-content">

        

        


    



<section class="row c-description" id="section-description">
    <div id="about" class="small-12 columns">
        
        



        
        
        <p itemprop="description" class="description">uLan is message oriented multi-master communication protocol for microcontrollers. It uses 9-bit character format for addressing and link control and RS-485 physical layer. More RS-485 cards, converters for PC RS-232 ports and embedded MCUs are supported</p>
    </div>
</section>



        

        

        
            

    <div class="m-project-activity columns small-12 psp-section">
        <div class="heading">
            <h3>Project Activity</h3>
            <div>
                <a class="button yellow icon-only follow-action-disabled show-for-medium"
                   href="https://sourceforge.net/auth/?return_to=%2Fprojects%2Fulan%2F"
                        title="Follow uLan protocol for RS-485 9-bit network - Requires login"
                    rel="nofollow"
                   >
<svg  data-name="sf_star_grey" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#CCCCCB" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg></a>
                <a class="button blue icon-only show-for-medium" href="/p/ulan/activity/feed" title="RSS" rel="nofollow">
<svg  data-name="feed" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1408.1818 1408" > <path d="m 384,1216 q 0,80 -56,136 -56,56 -136,56 -80,0 -136,-56 -56,-56 -56,-136 0,-80 56,-136 56,-56 136,-56 80,0 136,56 56,56 56,136 z m 512,123 q 2,28 -17,48 -18,21 -47,21 l -135,0 q -25,0 -43,-16.5 Q 636,1375 634,1350 612,1121 449.5,958.5 287,796 58,774 33,772 16.5,754 0,736 0,711 L 0,576 q 0,-29 21,-47 17,-17 43,-17 l 5,0 q 160,13 306,80.5 146,67.5 259,181.5 114,113 181.5,259 67.5,146 80.5,306 z m 512,2 q 2,27 -18,47 -18,20 -46,20 l -143,0 q -26,0 -44.5,-17.5 Q 1138,1373 1137,1348 1125,1133 1036,939.5 947,746 804.5,603.5 662,461 468.5,372 275,283 60,270 35,269 17.5,250.5 0,232 0,207 L 0,64 Q 0,36 20,18 38,0 64,0 l 3,0 Q 329,13 568.5,120 808,227 994,414 q 187,186 294,425.5 107,239.5 120,501.5 z" /></svg></a>
            </div>
        </div>
        <div id="project-activity">
            
            <div class="space--placeholder" style="height: 315px"></div>
        </div>
        <p class="all-activities"><a href="/p/ulan/activity/">See All Activity &gt;</a></p>
    </div>

    <script type="text/x-handlebars-template" id="project-activity-template">
    
        <ul class="list-of-activities">
            {{#each timeline}}
            <li class="item">
                <time datetime="{{ iso8601date this.published }}" title="{{ readable_date this.published }}">{{ ago this.published }}</time>
                <div>
                {{#ifTagged "release"}}
                  {{ cap this.verb }}
                {{else}}
                  {{ icon this.actor.activity_extras.icon_url }}
                  {{ activity_obj this.actor }}
                  {{ this.verb }}
                {{/ifTagged}}
                {{ activity_obj this.obj }}
                {{#if this.target.activity_name}} on {{ activity_obj this.target }}{{/if}}
                </div>
                <div class="summary">
                    {{ this.obj.activity_extras.summary }}
                </div>
            </li>
            {{/each}}
        </ul>
    
    </script>

        

        
<section class="row psp-section collapsible-section">
    
    <div class="small-12 medium-5 columns">
        <h3>Categories</h3><a href="/directory/hardware-drivers/"><span itemprop="applicationCategory">Hardware Drivers</span></a></div>
    

    <div class="medium-5 small-12 columns">
        <section class="project-info">
    <h3>License</h3>Mozilla Public License 1.0 (MPL), GNU Library or Lesser General Public License version 2.0 (LGPLv2), GNU General Public License version 2.0 (GPLv2)</section>


    </div>
</section>


        
<section class="row psp-section collapsible-section">
    <div class="small-12 columns">
        <h3>Follow uLan protocol for RS-485 9-bit network</h3>
        
        <p>
            <a id="homepage" class="pspbtn" href="http://ulan.sourceforge.net" title="uLan protocol for RS-485 9-bit network Web Site"  target="_blank">uLan protocol for RS-485 9-bit network Web Site</a>
        </p>
        
        
        
        
    </div>
</section>


        

        
        <div class="sterling">
            


    


<div id="SF_ProjectSum_728x90_B_wrapped" data-id="div-gpt-ad-1392148208790-0" class="draper   
visibility_rules
 v_970_xlarge  v_728_leaderboard "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_728x90_B_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1392148208790-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_728x90_B'] = function(){  // jshint ignore:line
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1392148208790-0');
    });
};
gptadRenderers['SF_ProjectSum_728x90_B']();  // jshint ignore:line
}
</script>
            


    
    


<div id="SF_Mobile_Multi_B_wrapped" data-id="div-gpt-ad-1512154653435-0" class="draper multisize  
"> </div><script>
/*global googletag */
if (!SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_Mobile_Multi_B_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1512154653435-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_Mobile_Multi_B'] = function(){  // jshint ignore:line
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1512154653435-0');
    });
};
gptadRenderers['SF_Mobile_Multi_B']();  // jshint ignore:line
}
</script>
        </div>
        

        
    
        

<script>
    if (!SF.wireOutboundZoneTrackingComplete) {  
        $(SF.wireOutboundZoneTracking);
        $('body').append('<iframe src="https://c.sf-syn.com/conversion_outbound_tracker/sf" id="frame-zone-outbound" style="display: none;"></iframe>');
        SF.wireOutboundZoneTrackingComplete = true;
    }
</script>


        
            <section id="nels" class="small-12 columns">
               
               
    
    
    
    
     <div class="as-header">
        <div class="as-h2">Other Useful Business Software</div>
    </div>
    
    
        
        

    
    
        
    

    <div class="nel standard trunc-eligible  "
        data-id="19765" data-cid="15830">

        


<span id="79cbe1d3-bc7f-464d-ae2e-de821215687f"></span>
<script>
    /* globals bizx */
    bizx.cmp.trackingPixel('publisher', ['storage', 'measurement'], '/directory/tp3/?b=86407&amp;c=15830&amp;z=83806&amp;cb=58b660335f', "Our Free Plans just got better! | Auth0", '79cbe1d3-bc7f-464d-ae2e-de821215687f');
</script>


        
        <div class="application-image thumbnail"  data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=86407__zoneid=83806__cb=58b660335f__oadest=https%3A%2F%2Fauth0.com%2Fsignup%3Futm_source%3Dsourceforge%26utm_campaign%3Damer_mult_mult_all_ciam-dev_dg-plg_auth0_native_sourceforge_display_3p_PLG-V9Pricing-JSSignUp_utm2%26utm_medium%3Dcpc%26utm_id%3DaNK4z000000UGkKGAW" data-newtab="true" data-target="_blank" rel="nofollow">
            <img class="main-image" src="//a.fsdn.com/con/app/nel_img/19765" alt="Our Free Plans just got better! | Auth0 Icon">
            
        </div>
        <div class="wrapper">
            <div class="heading">
                <div class="heading-main">
                    
                    <span data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=86407__zoneid=83806__cb=58b660335f__oadest=https%3A%2F%2Fauth0.com%2Fsignup%3Futm_source%3Dsourceforge%26utm_campaign%3Damer_mult_mult_all_ciam-dev_dg-plg_auth0_native_sourceforge_display_3p_PLG-V9Pricing-JSSignUp_utm2%26utm_medium%3Dcpc%26utm_id%3DaNK4z000000UGkKGAW" data-newtab="true" data-target="_blank" rel="nofollow" title="Find out more about Our Free Plans just got better! | Auth0">Our Free Plans just got better! | Auth0</span>

                    
                    <p class="teaser">With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.</p>
                </div>
            </div>

            
            

            <div class="tiles">
                <div class="tile">
                    
                    <div class="description ">
                        <div class="description-inner">
                            You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
                        </div>
                    </div>
                </div>

                
            </div>

        </div>

        
        <div class="download standard">
            
            

            

            
        
            
        
        <div class="button green wide sfdl sfdl-lite" data-target="_blank" data-newtab="true" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=86407__zoneid=83806__cb=58b660335f__oadest=https%3A%2F%2Fauth0.com%2Fsignup%3Futm_source%3Dsourceforge%26utm_campaign%3Damer_mult_mult_all_ciam-dev_dg-plg_auth0_native_sourceforge_display_3p_PLG-V9Pricing-JSSignUp_utm2%26utm_medium%3Dcpc%26utm_id%3DaNK4z000000UGkKGAW"
                >Try free now</div>
        </div>

        
    </div>


    
            </section>
        
    


        
<section class="row m-rate-project">
    <div class="small-12 columns">
        <div class="as-h3">Rate This Project</div><a class="rate-this-project" href="/projects/ulan/reviews/new" rel="nofollow">Login To Rate This Project</a>
    </div>
</section>

<section class="row reviews-section psp-section collapsible-section hr-bottom">
    <div class="small-12 columns">
        


<section id="reviews" class="m-reviews-list" data-name="uLan protocol for RS-485 9-bit network" data-endpoint="/projects/ulan/reviews/">
    <section class="heading">
        <h2 class="as-h3">User Reviews</h2>
        <div class="info-no-reviews">
            Be the first to <a href="/projects/ulan/reviews/new" rel="nofollow">post a review</a> of uLan protocol for RS-485 9-bit network!
        </div>
    </section>
    <section class="content">
    </section>
</section>


    </div>
</section>


        <section class="row m-section-additional-details psp-section collapsible-section">
    <div class="small-12 columns">
        <h3>Additional Project Details</h3>
        





<section class="project-info">
    <h4>Operating Systems</h4><a href="/directory/ms-dos/">MS-DOS</a>, <a href="/directory/linux/">Linux</a>, <a href="/directory/bsd/">BSD</a>, <a href="/directory/windows/">Windows</a></section>




<section class="project-info">
    <h4>Intended Audience</h4>Developers</section>




<section class="project-info">
    <h4>Programming Language</h4><a href="/directory/c/">C</a></section>








    <section class="project-info">
     <h4>Related Categories</h4>
    
        
        
    
        
                
            
            
        
    
    
      
          
           
           <a href="/directory/hardware-drivers/c/"><span itemprop="relatedCategory">C Hardware Drivers</span></a>
    </section>


<section class="project-info">
    <div class="as-header">
        <h4>Registered</h4>
    </div>
    <section class="content">
        2004-09-09
    </section>
</section>

    </div>
</section>

          
            
<aside class="m-wide-widget m-wide-projects-widget ">
    <div class="as-header">
        
        Similar Business Software
    </div>
    <div class="body">
        <ul>
            
            




<li>
    
        


<div class="project-icon   " >
    
    
    <img alt="RB1100AHx4" title="RB1100AHx4" 
src="//a.fsdn.com/allura/s/rb1100ahx4/icon?d21ed0ed250f1a737aed4b5573202603e3a89c24ae491a17f619a8a40ba37649?&amp;w=48"
     loading="lazy"/></div>

    
    <div class="project-info ">
        <div class="result-heading-texts">
            <a href="/software/product/RB1100AHx4/" title="Find out more about RB1100AHx4">
                
                <strong>RB1100AHx4</strong>
            </a>
            
        </div>
        
        <div class="summary">
            <span>Introducing RB1100AHx4, 13x Gigabit Ethernet ports Router, powered by Annapurna Alpine AL21400 CPU with four Cortex A15 cores, clocked at 1.4GHz each, for a maximum throughput of up to 7.5Gbit. The device supports IPsec hardware acceleration (up to 2.2Gbps with AES128). Unit comes with 1U...</span>
        </div>
        
    </div>
    <div>
        <a href="/software/product/RB1100AHx4/" title="Find out more about RB1100AHx4" class="button blue hollow see-project">See Software</a>
    </div>
</li>

            
            




<li>
    
        


<div class="project-icon   " >
    
    
    <img alt="RB1100AHx4 Dude Edition" title="RB1100AHx4 Dude Edition" 
src="//a.fsdn.com/allura/s/rb1100ahx4-dude-edition/icon?d21ed0ed250f1a737aed4b5573202603e3a89c24ae491a17f619a8a40ba37649?&amp;w=48"
     loading="lazy"/></div>

    
    <div class="project-info ">
        <div class="result-heading-texts">
            <a href="/software/product/RB1100AHx4-Dude-Edition/" title="Find out more about RB1100AHx4 Dude Edition">
                
                <strong>RB1100AHx4 Dude Edition</strong>
            </a>
            
        </div>
        
        <div class="summary">
            <span>New RB1100AHx4 Dude Edition has Annapurna Alpine AL21400 CPU with four Cortex A15 cores clocked at 1.4GHz each, for a maximum throughput of up to 7.5Gbps. The device supports IPsec hardware acceleration and is faster at it than any previous RouterBOARD device (up to 2.2Gbps with AES128). Unit...</span>
        </div>
        
    </div>
    <div>
        <a href="/software/product/RB1100AHx4-Dude-Edition/" title="Find out more about RB1100AHx4 Dude Edition" class="button blue hollow see-project">See Software</a>
    </div>
</li>

            
            




<li>
    
        


<div class="project-icon   " >
    
    
    <img alt="RB2011UiAS-IN" title="RB2011UiAS-IN" 
src="//a.fsdn.com/allura/s/rb2011uias-in/icon?bbf2cc0f4342c0efea6ad39ad93cdb05ddfbeccb25837768aad56706366c7627?&amp;w=48"
     loading="lazy"/></div>

    
    <div class="project-info ">
        <div class="result-heading-texts">
            <a href="/software/product/RB2011UiAS-IN/" title="Find out more about RB2011UiAS-IN">
                
                <strong>RB2011UiAS-IN</strong>
            </a>
            
        </div>
        
        <div class="summary">
            <span>Desktop metal case, 5xEthernet, 5xGigabit Ethernet, USB, LCD, PoE out on port 10, 600MHz CPU, 128MB RAM, RouterOS L5. The RB2011 is a low-cost multi-port device series. Designed for indoor use, and is available in many different cases, with a multitude of options. The RB2011 is powered by...</span>
        </div>
        
    </div>
    <div>
        <a href="/software/product/RB2011UiAS-IN/" title="Find out more about RB2011UiAS-IN" class="button blue hollow see-project">See Software</a>
    </div>
</li>

            
        </ul>
    </div>
</aside>


        <section class="row ">
    <div class="small-12 columns">
        <a id="report-inappropriate" href="/projects/ulan/report_inappropriate" rel="nofollow">Report inappropriate content</a>
    </div>
</section>
    </article>
    <div class="sterling">
        


    


<div id="SF_ProjectSum_728x90_C_wrapped" data-id="div-gpt-ad-1491500833666-0" class="draper   
visibility_rules
 v_970_xlarge  v_728_leaderboard "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_728x90_C_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1491500833666-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_728x90_C'] = function(){  // jshint ignore:line
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1491500833666-0');
    });
};
gptadRenderers['SF_ProjectSum_728x90_C']();  // jshint ignore:line
}
</script>
    </div>
    

</div>
                    </div>
                    <div class="l-gutter">
                    </div>
                    <div class="l-side-column">
                        



<div class="scroll-fixable">
    <section class="sterling">
        


    
    


<div id="SF_ProjectSum_300x250_A_wrapped" data-id="div-gpt-ad-1394209358855-0" class="draper multisize  
visibility_rules
 v_300_large "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.large) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_300x250_A_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1394209358855-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_300x250_A'] = function(){  // jshint ignore:line
    
        if (!SF.adblock) {
            
                
            
            $('#div-gpt-ad-1394209358855-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding
        }
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1394209358855-0');
    });
};
gptadRenderers['SF_ProjectSum_300x250_A']();  // jshint ignore:line
}
</script>
        


    


<div id="SF_ProjectSum_300x250_B_wrapped" data-id="div-gpt-ad-1394209358856-0" class="draper medrec  
visibility_rules
 v_300_large "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.large) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_300x250_B_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1394209358856-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_300x250_B'] = function(){  // jshint ignore:line
    
        if (!SF.adblock) {
            
                
            
            $('#div-gpt-ad-1394209358856-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding
        }
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1394209358856-0');
    });
};
gptadRenderers['SF_ProjectSum_300x250_B']();  // jshint ignore:line
}
</script>
    </section>
    
    
<aside class="m-sidebar-widget m-project-list">
    <div class="as-header">Recommended Projects</div>

    <div class="body">
        <ul >
            
            <li class="item">
                
                
                <a href="/projects/avrdmx/" title="AVR DMX">
                    


<div class="project-icon  default-project-icon " >
    
    
    


<svg  data-name="default-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><rect class="st0" width="300" height="300"/><g><path class="st1" d="M162.5,154.8c0-28.9-10.2-42-15.6-46.9c-1.1-1-2.7-0.1-2.6,1.3c1.1,16.3-19.4,20.3-19.4,45.9h0c0,0.1,0,0.1,0,0.2c0,15.6,11.8,28.3,26.3,28.3c14.5,0,26.3-12.7,26.3-28.3c0-0.1,0-0.1,0-0.2h0c0-7.2-2.7-14.1-5.5-19.3c-0.5-1-2.1-0.6-1.9,0.3C174.9,158.1,162.5,171.8,162.5,154.8z"/><g><path class="st1" d="M131.2,215.6c-0.7,0-1.3-0.3-1.8-0.7l-67.2-67.1c-1-1-1-2.6,0-3.6l70.9-70.9c0.5-0.5,1.1-0.7,1.8-0.7h20.4c1.2,0,2,0.8,2.3,1.6c0.3,0.7,0.3,1.9-0.5,2.7l-66.7,66.7c-1.3,1.3-1.3,3.5,0,4.9l52.7,52.7c1,1,1,2.6,0,3.6L133,214.9C132.5,215.4,131.9,215.6,131.2,215.6z"/></g><g><path class="st1" d="M144.7,227.4c-1.2,0-2-0.8-2.3-1.5c-0.3-0.7-0.3-1.9,0.5-2.7l66.7-66.7c0.7-0.6,1-1.5,1-2.4s-0.4-1.8-1-2.4l-52.7-52.7c-1-1-1-2.6,0-3.6l10.2-10.2c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l67,67.1c0.5,0.5,0.7,1.1,0.7,1.8s-0.3,1.3-0.7,1.8l-70.9,70.9c-0.5,0.5-1.1,0.7-1.8,0.7H144.7z"/></g></g></svg>
    </div>

                </a>
                <div class="pinfo-content recommended">
                    <a class="project-name" href="/projects/avrdmx/" title="Learn more about AVR DMX ">AVR DMX</a>
                    <div class="summary">
                        The DMX-protocol is a product based on RS485 communication. It is the standard for lighting techniques. This protocol could also be used for other purposes. On this page you will find the code to put into the AVR to send or receive DMX.
                    </div>
                </div>
            </li>
            
            <li class="item">
                
                
                <a href="/projects/chromulan/" title="CHROMuLAN - Open Chromatography Station">
                    


<div class="project-icon   " >
    
    
    <img alt="CHROMuLAN - Open Chromatography Station" title="CHROMuLAN - Open Chromatography Station" 
src="//a.fsdn.com/allura/p/chromulan/icon?1686730236"
     loading="lazy"/></div>

                </a>
                <div class="pinfo-content recommended">
                    <a class="project-name" href="/projects/chromulan/" title="Learn more about CHROMuLAN - Open Chromatography Station ">CHROMuLAN - Open Chromatography Station</a>
                    <div class="summary">
                        SW for controlling of chromatographic devices and subsequent evaluation of the acquired data. Integrated instrument control uses uLAN protocol. There are AD converters (i.e. ULAD32 analog to uLan and USB converter) and SW plugins for others.
                    </div>
                </div>
            </li>
            
            <li class="item">
                
                
                <a href="/projects/barrier.mirror/" title="Barrier">
                    


<div class="project-icon   " >
    
    
    <img alt="Barrier" title="Barrier" 
src="//a.fsdn.com/allura/mirror/barrier/icon?1741295495?&amp;w=48"
    srcset="//a.fsdn.com/allura/mirror/barrier/icon?1741295495?&amp;w=72 1.5x
        ,
            //a.fsdn.com/allura/mirror/barrier/icon?1741295495?&amp;w=96 2x" loading="lazy"/></div>

                </a>
                <div class="pinfo-content recommended">
                    <a class="project-name" href="/projects/barrier.mirror/" title="Learn more about Barrier ">Barrier</a>
                    <div class="summary">
                        Open-source KVM software
                    </div>
                </div>
            </li>
            
            <li class="item">
                
                
                <a href="/projects/dmx485/" title="dmx485 - DMX-on-RS-485 interface library">
                    


<div class="project-icon  default-project-icon " >
    
    
    


<svg  data-name="default-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><rect class="st0" width="300" height="300"/><g><path class="st1" d="M162.5,154.8c0-28.9-10.2-42-15.6-46.9c-1.1-1-2.7-0.1-2.6,1.3c1.1,16.3-19.4,20.3-19.4,45.9h0c0,0.1,0,0.1,0,0.2c0,15.6,11.8,28.3,26.3,28.3c14.5,0,26.3-12.7,26.3-28.3c0-0.1,0-0.1,0-0.2h0c0-7.2-2.7-14.1-5.5-19.3c-0.5-1-2.1-0.6-1.9,0.3C174.9,158.1,162.5,171.8,162.5,154.8z"/><g><path class="st1" d="M131.2,215.6c-0.7,0-1.3-0.3-1.8-0.7l-67.2-67.1c-1-1-1-2.6,0-3.6l70.9-70.9c0.5-0.5,1.1-0.7,1.8-0.7h20.4c1.2,0,2,0.8,2.3,1.6c0.3,0.7,0.3,1.9-0.5,2.7l-66.7,66.7c-1.3,1.3-1.3,3.5,0,4.9l52.7,52.7c1,1,1,2.6,0,3.6L133,214.9C132.5,215.4,131.9,215.6,131.2,215.6z"/></g><g><path class="st1" d="M144.7,227.4c-1.2,0-2-0.8-2.3-1.5c-0.3-0.7-0.3-1.9,0.5-2.7l66.7-66.7c0.7-0.6,1-1.5,1-2.4s-0.4-1.8-1-2.4l-52.7-52.7c-1-1-1-2.6,0-3.6l10.2-10.2c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l67,67.1c0.5,0.5,0.7,1.1,0.7,1.8s-0.3,1.3-0.7,1.8l-70.9,70.9c-0.5,0.5-1.1,0.7-1.8,0.7H144.7z"/></g></g></svg>
    </div>

                </a>
                <div class="pinfo-content recommended">
                    <a class="project-name" href="/projects/dmx485/" title="Learn more about dmx485 - DMX-on-RS-485 interface library ">dmx485 - DMX-on-RS-485 interface library</a>
                    <div class="summary">
                        Shared library and associated tools for DMX-512 communication via USB-to-RS-485 adapters, using standard UNIX and Linux serial interfaces (patches to remove dependence on linux/serial.h welcome).
                    </div>
                </div>
            </li>
            
        </ul>
    </div>
</aside>
    

    
    <section class="sterling">
        


    


<div id="SF_ProjectSum_300x250_C_wrapped" data-id="div-gpt-ad-1394209358857-0" class="draper medrec  
visibility_rules
 v_300_large "> </div><script>
/*global googletag */
if (SF.initial_breakpoints_visible.large) {
(function(){
    
    var el = document.getElementById('SF_ProjectSum_300x250_C_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1394209358857-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_ProjectSum_300x250_C'] = function(){  // jshint ignore:line
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1394209358857-0');
    });
};
gptadRenderers['SF_ProjectSum_300x250_C']();  // jshint ignore:line
}
</script>
    </section>

    


<aside class="m-sidebar-widget m-project-related-keywords">
    <div class="as-header">Top Searches</div>
    <div class="body">
        <ul>
            
            <li class="item">
                <a href="/directory/?q=profibus+master+simulator">profibus master simulator</a>
            </li>
            
            <li class="item">
                <a href="/directory/?q=profibus">profibus</a>
            </li>
            
            <li class="item">
                <a href="/directory/?q=com+port+redirect">com port redirect</a>
            </li>
            
            <li class="item">
                <a href="/directory/?q=c%23+profibus">c# profibus</a>
            </li>
            
        </ul>
    </div>
</aside>


    
    
        <aside class="m-sidebar-widget">
            <div class="as-header">Related Business Categories</div>
            <div class="body">
                <ul>
                    
                        
                            <li class="item">
                                <a href="/software/hardware/">Hardware</a>
                            </li>
                    
                </ul>
            </div>
        </aside>
    

</div>

    
<script>
if (!SF.adblock && SF.initial_breakpoints_visible.large) {
    
        bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function() {
            SF.Ads.scrollFixable = new SF.ScrollFixable($('.scroll-fixable').eq(0), {"adjustHorizontal":false,"avoidElement":".l-header-nav, .l-header-nav-bottom","watchAvoidStickiness":true});
            if (SF.Ads.acceptable_ads_active){
                SF.Ads.scrollFixable.disable();
            }
        });
    
}
</script>


<div class="sterling">
    


    
    


<div id="SF_Mobile_Multi_C_wrapped" data-id="div-gpt-ad-1512154755912-0" class="draper multisize  
"> </div><script>
/*global googletag */
if (!SF.initial_breakpoints_visible.leaderboard) {
(function(){
    
    var el = document.getElementById('SF_Mobile_Multi_C_wrapped');
    var newNode = document.createElement('div');
    newNode.id = 'div-gpt-ad-1512154755912-0';
    el.appendChild(newNode);
}());

gptadRenderers['SF_Mobile_Multi_C'] = function(){  // jshint ignore:line
    
    googletag.cmd.push(function() {
        googletag.display('div-gpt-ad-1512154755912-0');
    });
};
gptadRenderers['SF_Mobile_Multi_C']();  // jshint ignore:line
}
</script>
</div>
                    </div>
                </div>
            

            
    <footer class="sandiego">
    <div class="as-row">
        <div class="footer-wrapper">
            <nav aria-label="Site Links" role="navigation">
                <section>
                    <div class="as-h2">SourceForge</div>
                    <ul>
                    
                        <li><a href="/create/" title="Create a Project">Create a Project</a></li>
                    
                        <li><a href="/directory/" title="Open Source Software Directory">Open Source Software</a></li>
                        <li><a href="/software/" title="Business Software Directory">Business Software</a></li>
                        
                            
                            <li><a href="/top" title="Top Open Source Projects">Top Downloaded Projects</a></li>
                        

                    </ul>
                </section>
            </nav>
            <nav aria-label="Company Links" role="navigation">
                <section>
                    <div class="as-h2">Company</div>
                    <ul>
                        <li><a href="/about">About</a></li>
                        <li><a href="/about/leadership" title="Open Source Software Directory">Team</a></li>
                        <li class="h-card">
                            <address>
                                <span class="p-name p-org">SourceForge Headquarters</span><br>
                                <span class="p-street-address">225 Broadway Suite 1600</span><br>
                                <span class="p-locality">San Diego, CA <span class="p-postal-code">92101</span></span><br>
                                <span class="p-tel">+1 (858) 422-6466</span><br>
                            </address>
                        </li>
                        <li id="social">
                            
<span></span>
<a href="https://twitter.com/sourceforge" class="twitter" rel="nofollow" target="_blank" title="SourceForge on X">


<svg  class="vertical-icon-fix" data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/></svg></a>
<a href="https://fosstodon.org/@sourceforge" rel="me nofollow" target="_blank" title="SourceForge on Mastodon">


<svg  class="vertical-icon-fix" data-name="mastodon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg></a>
<a href="https://www.facebook.com/sourceforgenet/" class="facebook" rel="nofollow" target="_blank" title="SourceForge on Facebook">


<svg  data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z"/></svg></a>
<a href="https://www.linkedin.com/company/sourceforge.net" class="linkedin" rel="nofollow" target="_blank" title="SourceForge on LinkedIn">


<svg  data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z"/></svg></a>

<a href="/user/newsletters" rel=nofollow class="newsletter" title="Subscribe to our newsletter">


<svg  class="vertical-icon-fix" data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></a>

<span></span>
                        </li>
                    </ul>
                </section>
            </nav>
             <nav aria-label="Resources Links" role="navigation">
                <section>
                    <div class="as-h2">Resources</div>
                    <ul>
                        
                            <li><a href="/support" title="Support Section">Support</a></li>
                            <li><a href="/p/forge/documentation/Docs%20Home/" title="Site Documentation">Site Documentation</a></li>
                        
                        <li><a href="https://fosstodon.org/@sourceforgestatus" title="Site Status" rel="me nofollow">Site Status</a></li>
                        <li><a href="/reviews" title="Reviews" rel="me nofollow">SourceForge Reviews</a></li>

                    </ul>
                </section>
            </nav>
            <section class="footer-logo">
                <a href="/" title="Home" class="sf-logo">
                    
    
    <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg"  alt="SourceForge logo" class="sf-logo-full"/>
                </a>
            </section>
        </div>
    </div>
    <section class="l-nav-bottom">
        <nav class="row">
            
                
            
        
    <div class="columns small-12 large-6 copyright-notice">
        &copy; 2025 Slashdot Media. All Rights Reserved.
    </div>
    <div class="columns large-6 links links-right">
        

    
    

    <a href="https://slashdotmedia.com/terms-of-use" target="_blank" title="Terms" rel="nofollow">Terms</a>
    <a href="https://slashdotmedia.com/privacy-statement/" target="_blank" title="Privacy" rel="nofollow">Privacy</a>

    
    
    

    
        <a href="https://slashdotmedia.com/opt-out-choices/" target="_blank" title="Opt Out" rel="nofollow">Opt Out</a>
    

    
        <a href="https://slashdotmedia.com/contact/" target="_blank" title="Advertise" rel="nofollow">Advertise</a>
    
    </div>
        </nav>
    </section>

    </footer>
    



            
    
        </div>
            
    
    <div id="newsletter-floating" class="sandiego newsletter-floating-new">
        <a class="close-button btn-closer" data-close aria-label="Close modal">
            <span aria-hidden="true">&times;</span>
        </a>
        <div class="as-h2">Want the latest updates on software, tech news, and AI?</div>
        <div class="row">
            <div class="column small-2 medium-2 large-2" style="padding-left: 0px; padding-right: 0px;"><img src="//a.fsdn.com/con/images/sandiego/sf_email_icon.svg"  alt="" /></div>
            <div class="as-h3 column small-10 medium-10 large-10">Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.</div>
        </div>
        <form action="/user/newsletters/" method="post">
            <div class="row">
              <input class="newsletter-input" type="email" placeholder="Enter your email address" autocomplete="off" name="newsletter_email"
                     value="">
              <input type="hidden" name="source" value="floating">
              <button type="submit" class="button blue newsletter-button">Submit</button>
            </div>
        </form>
    </div>
    

            
    
        
    
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-base.js?1751047936"></script>

        
    

    <script>
        /* global Dropzone */
        Dropzone.options.blockthisForm = false;
    </script>
        
    
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-foundation-base.js?1751047936"></script>

        
    

    
    
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-foundation-tooltip.js?1751047936"></script>

        
    

    
    

        

        <script>
            /* global Foundation */
            $(document).foundation();
            Foundation.Triggers.forceListenersNow();
        </script>


        
        <script>
            bizx.cmp.ifConsent({purposes:'all', vendors:'google-ads'}, function () {
                $('body').removeClass('no-ads-consent'); 
            },
            function () { 
                $('body').addClass('no-ads-consent');
            },
            null,
            function () { 
                $('body').addClass('no-ads-consent');
            });
        </script>

        <noscript><p><img src="https://analytics.slashdotmedia.com/index.php?idsite=39" style="border:0;" alt="" /></p></noscript>

        

        
        

        <script>

        function geturl(url, params) {
            params = Object
                .keys(params)
                .map(function(key) {
                    return key + "=" + encodeURIComponent(params[key]);
                })
                .join("&");
            return url + "?" + params;
        }

        
        function loadimg(params, dimension_prefix) {
            params = Object.assign({"idsite":1,"rec":1,"rand":90625,"dimension2":"pg_project","url":"https://sourceforge.net/projects/ulan/","action_name":"uLan protocol for RS-485 9-bit network download | SourceForge.net"}, params);
            for (var key in params) {
                if (params.hasOwnProperty(key) && key.indexOf('dimension') === 0 && params[key] !== undefined) {
                    params[key] = (dimension_prefix||'') + params[key];
                }
            }
            params.rand = Math.floor(Math.random() * 100000);
            bizx.cmp.ifConsent('publisher', ['measurement'], function() {
                var url = geturl("//sourceforge.net/software/visit", params);
                if (!('sendBeacon' in navigator) || !navigator.sendBeacon(url)) {
                    var img = document.createElement('img');
                    img.src = url;
                    img.style = "border:0;position:absolute;top:0;";
                    img.alt = "";
                    document.body.appendChild(img);
                }
            });
        }

        var $typeaheads = $('.typeahead__container input[name=q]');
        $typeaheads.on('typeahead-item-clicked', function(ev, $typeahead, q, item){
            var groupIndex = ($typeahead.data('groups') || []).indexOf(item.group);
            if (groupIndex === 2 || groupIndex === 3) {
                loadimg({
                    'e_c': 'Search | Typeahead | ' + item.group,
                    'e_a': "Typeahead Click | q=" + q,
                    'e_n': item.href, 
                 }, 'typeahead_on_');
            }
        });
        </script>

        <script type="text/javascript">
            bizx.cmp.ifConsent({purposes: 'all', vendors: '6sense'}, async() => {
                
                (function(){var s = document.getElementsByTagName("script")[0];
                var b = document.createElement("script");
                b.type = "text/javascript";b.async = true;b.defer=true;b.id='6senseWebTag';
                b.src = "https://j.6sc.co/j/58729049-be80-466a-9abf-b3911430bbd8.js";
                s.parentNode.insertBefore(b, s);})();
            });
            </script>

    
        <script src="//a.fsdn.com/con/js/min/sf.sandiego-project.js?1751047936"></script>

        
            <script src="//a.fsdn.com/con/js/min/sf.sandiego-project-disallow.js?1751047936"></script>
        
    

        

<!-- CCM Tag -->
<script>
    (function () {
        bizx.cmp.ifConsent({ purposes: 'all', vendors: 'bombora'}, function () {
            /*global _ml:true, window */
            _ml = window._ml || {};
            
            _ml.eid = '771';
            _ml.fp = '3485ea26-94e7-4762-a49a-8d7a60e41f4d';  
            var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script');
            mltag.type = 'text/javascript';
            mltag.async = true;
            mltag.defer = true;
            mltag.src = '//ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear();
            s.parentNode.insertBefore(mltag, s);
        });
    })();
</script>
<!-- End CCM Tag -->


        
        
<!-- Hubspot tracking -->


        


        
            
    
    <div id="overlay-blockthis-wrapper" style="display: none;">
        <div id="overlay-blockthis">
            <div class="as-h2 title">Thanks for helping keep SourceForge clean.</div>
            <a href="#" id="btn-blockthis-close">X</a>
            <form class="dropzone small-12" action="/api/instrumentation/gpt" id="blockthisForm" method="POST">
                <div class="row small-12">
                    <div class="column description small-12">
                        <input type="hidden" name="_visit_cookie" value="3485ea26-94e7-4762-a49a-8d7a60e41f4d"/>
                            <input type='hidden' name='timestamp' value='1751158993'/>
                            <input type='hidden' name='spinner' value='XhrJYEzOVx41xxPTvjfJP8cB_jWg'/>
                            <p class='q07d99549970743a3b19cc49376cd9542fbbbf68e'><label for='XwoHDmjd9VsOsw7fCvRLDsGAgw5RBw4l9FsK4HsO8'>You seem to have CSS turned off.
             Please don't fill out this field.</label><input id='XwoHDmjd9VsOsw7fCvRLDsGAgw5RBw4l9FsK4HsO8' name='XwoDDmjd9VsOsw7fDrkVQO8K2PnTDgycHw6wZMA' type=
             'text'/></p>
                            <p class='q07d99549970743a3b19cc49376cd9542fbbbf68e'><label for='XwoHDmjd9VsOsw7fCvBLDsGAgw5RBw4l9FsK4HsO8'>You seem to have CSS turned off.
             Please don't fill out this field.</label><input id='XwoHDmjd9VsOsw7fCvBLDsGAgw5RBw4l9FsK4HsO8' name='XwoDDmjd9VsOsw7bDrkVQO8K2PnTDgycHw6wZMA' type=
             'text'/></p>
                        Briefly describe the problem (required):
                        <input name="Xwo3Dlj1gUMOnwq7DvQXCrcKbwoHDrsOGw5s:wpnDjAvDpA" type="text" required>
                    </div>
                </div>
                <div class="column small-12">
                    <div class="upload-text">Upload screenshot of ad (required):</div>
                    <div id='upload-it'>
                        <a href="#" id="upload-select-file">Select a file</a>, or drag & drop file here.
                    </div>
                    <div id="upload-it-placeholder"></div> 

                    <div class="dropzone-previews" style="display: none"></div>
                    <div class="dz-message" style="display: none"></div> 
                    
                    <div id="dropzone-preview-template" style="display: none">
                        <div class="dz-preview dz-file-preview">
                            <img data-dz-thumbnail src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt=""/>
                            <div class="dz-success-mark"><span>✔</span></div>
                            <div class="dz-error-mark"><span>✘</span></div>
                            <div class="dz-error-message"><span data-dz-errormessage></span></div>
                        </div>
                    </div>
                </div>
                <div class="column small-12">
                    <u>Screenshot instructions:</u>
                    
                </div>
                <div class="row small-12">
                    <div class="column large-5 small-6">
                        <p>
                            <u>Click URL instructions:</u><br>
                            Right-click on the ad, choose "Copy Link", then paste here &rarr;<br>
                            (This may not be possible with some types of ads)
                        </p>
                        <a class="more-info" href="https://sourceforge.net/p/forge/documentation/Report%20a%20problem%20with%20Ad%20content/" target="_blank">More information about our ad policies</a>
                    </div>
                    <div class="column large-7 small-6">
                        <p>Ad destination/click URL:
                        <input name="Xwo_DkTR6UMO:wpjDuAPCqMKXw5sZPRZCRsOzW8Kv" type="url" required>
                        </p>
                        <textarea id="gpt-info" name="XwoLDljlnUsO2w7MZwr7CnUdpASTCiGJUJ8OWSA"></textarea>
                        <input class="button" type="submit" id="btn-blockthis-submit" value="Submit Report">
                    </div>
                </div>
            </form>
        </div>
    </div>

        

        <script>
            bizx.cmp.ifConsent('', ['all'], function () {
                bizx.cmp.embedScript('//ads.pro-market.net/ads/scripts/site-143572.js');
            });
        </script><script>
            bizx.cmp.ifConsent('', ['all'], function () {
                try{(function(){ var cb = new Date().getTime(); var s = document.createElement("script"); s.defer = true; s.src = "//tag.crsspxl.com/s1.js?d=2396&cb="+cb; var s0 = document.getElementsByTagName('script')[0]; s0.parentNode.insertBefore(s, s0); })();}catch(e){}
            });
        </script>
    
    
<script type="text/javascript">
    bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'google-analytics'}, function () {
        /* jshint ignore:start */
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
        /* jshint ignore:end */

        window.dataLayer = window.dataLayer || [];
        function gtag(){ window.dataLayer.push(arguments); }
        window.gtag = window.gtag || gtag;
        bizx.cmp.embedScript("https://www.googletagmanager.com/gtag/js");
        gtag('js', new Date());
        gtag('set', {
            'page_location': 'https://sourceforge.net/projects/ulan/',
        });
    });
</script>
    <script>
        /*global ga, gtag */
        SF.devicePixelRatio = Math.round(window.getDevicePixelRatio()*10)/10;

        

        
            bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'google-analytics'}, function () {
                gtag('config', 'G-1H226E4E4L', {
                    
                    send_page_view: false,
                    'SF_Project_Shortname': 'ulan', 
                    'SF_Page_Type': 'pg_project', 
                    user_properties: {
                        'SF_Logged_in': 'Logged Out', 
                    },
                    'SF_Ads_Disabled': 'No',   
                    'SF_Prebid_Load_Method': 'sync', 
                    'devicePixelRatio': SF.devicePixelRatio, 
                });
                gtag('event', 'page_view', { send_to: 'G-1H226E4E4L' });
            });
        
            
            
        
        
    </script>
    

        
        
        
             <script>
    $(function() {
        bizx.cmp.ifConsent({ purposes: 'all' , vendors: 'narrative'}, function() {
            var current_time = (new Date()).getTime();
            let imageUrl = "https://io.narrative.io/?companyId=2440&id=first_party%3A3485ea26-94e7-4762-a49a-8d7a60e41f4d&id=site_name%3Asourceforge.net&id=url%3A%2Fprojects%2Fulan%2F&id=pagetitle%3AuLan+protocol+for+RS-485+9-bit+network+download+%7C+SourceForge.net&id=vertical%3AOpen+Source+Software&id=product%3AuLan+protocol+for+RS-485+9-bit+network&id=topics%3AHardware+Drivers&id=programming_language%3AC";
            imageUrl = imageUrl.replace(encodeURIComponent("$PAGE_TITLE"), document.title);  
            
            imageUrl = URL.parse(imageUrl);
            let hem = bizx.uids.getHem();
            if (hem) {
                imageUrl.searchParams.append('id', 'hem:' + hem);
            }
            imageUrl.searchParams.append('rand', current_time);

            var image = new Image();
            image.src = imageUrl.toString();
            image.style.display = "none";
            image.style.height = 0;
            image.style.width = 0;
            document.body.appendChild(image);
        });
    });
</script>
        

        
            
<script>
    $(function() {
        bizx.cmp.ifConsent({ purposes: 'all', vendors: 'xandr'}, function() {
            /*jshint ignore:start*/
            !function(e,i){if(!e.pixie){var n=e.pixie=function(e,i,a){n.actionQueue.push({action:e,actionValue:i,params:a})};n.actionQueue=[];var a=i.createElement("script");a.async=!0,a.src="//acdn.adnxs.com/dmp/up/pixie.js";var t=i.getElementsByTagName("head")[0];t.insertBefore(a,t.firstChild)}}(window,document);
            pixie('init', '48d4c5e5-03de-40f8-81ab-b370a8860afa');
            pixie('event', 'PageView');
            /*jshint ignore:end*/

        });
    });
</script>

        

        









<script>
        function gam(id){
            bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function () {
                bizx.cmp.embedScript(`https://pagead2.googlesyndication.com/pagead/js/pcd.js?${id}`,
                    true,  // async
                    'head', // location
                    null, // callback
                    false, // defer
                    {id: `google-pcd-tag-${id}`, 'data-audience-pixel': 'dc_iu=/41014381/DFPAudiencePixel;dc_seg=' + id});
            });
        }

        
            gam("8901705213");gam("8901712041");</script>

        
        








        
        
            
            
            
        
        
    </body>
</html>